Automating Ad hoc Data Representation Transformations

被引:0
|
作者
Ureche, Vlad [1 ]
Biboudis, Aggelos [2 ]
Smaragdakis, Yannis [2 ]
Odersky, Martin [1 ]
机构
[1] Ecole Polytech Fed Lausanne, CH-1015 Lausanne, Switzerland
[2] Univ Athens, GR-10679 Athens, Greece
关键词
data representation; jvm; bytecode; compatibility; transformation; optimization; safety; semantics;
D O I
10.1145/2814270.2814271
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To maximize run-time performance, programmers often specialize their code by hand, replacing library collections and containers by custom objects in which data is restructured for efficient access. However, changing the data representation is a tedious and error-prone process that makes it hard to test, maintain and evolve the source code. We present an automated and composable mechanism that allows programmers to safely change the data representation in delimited scopes containing anything from expressions to entire class definitions. To achieve this, programmers define a transformation and our mechanism automatically and transparently applies it during compilation, eliminating the need to manually change the source code. Our technique leverages the type system in order to offer correctness guarantees on the transformation and its interaction with object-oriented language features, such as dynamic dispatch, inheritance and generics. We have embedded this technique in a Scala compiler plugin and used it in four very different transformations, ranging from improving the data layout and encoding, to retrofitting specialization and value class status, and all the way to collection deforestation. On our benchmarks, the technique obtained speedups between 1.8x and 24.5x.
引用
收藏
页码:801 / 820
页数:20
相关论文
共 50 条
  • [1] INTERACTIVE AD HOC SEGMENTED STRAIGHTENING TRANSFORMATIONS
    SHAPIRO, A
    AMERICAN STATISTICIAN, 1986, 40 (01): : 47 - 49
  • [2] Automating Transformations in Data Vault Data Warehouse Loads
    Puonti, Mikko
    Raitalaakso, Timo
    Aho, Timo
    Mikkonen, Tommi
    INFORMATION MODELLING AND KNOWLEDGE BASES XXVIII, 2017, 292 : 215 - 230
  • [3] Automating the security analysis process of secure ad hoc routing protocols
    Andel, T. R.
    Back, G.
    Yasinsac, A.
    SIMULATION MODELLING PRACTICE AND THEORY, 2011, 19 (09) : 2032 - 2049
  • [4] On automating the verification of secure ad-hoc network routing protocols
    Ta Vinh Thong
    Levente Buttyán
    Telecommunication Systems, 2013, 52 : 2611 - 2635
  • [5] On automating the verification of secure ad-hoc network routing protocols
    Ta Vinh Thong
    Buttyan, Levente
    TELECOMMUNICATION SYSTEMS, 2013, 52 (04) : 2611 - 2635
  • [6] A Continuous Representation of Ad Hoc Ridesharing Potential
    Rigby, Michael
    Winter, Stephan
    Krueger, Antonio
    IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, 2016, 17 (10) : 2832 - 2842
  • [7] Automating Common Data Science Matrix Transformations
    Contreras-Ochando, Lidia
    Ferri, Cesar
    Hernandez-Orallo, Jose
    MACHINE LEARNING AND KNOWLEDGE DISCOVERY IN DATABASES, ECML PKDD 2019, PT I, 2020, 1167 : 17 - 27
  • [8] Typing Ad Hoc Data
    Fisher, Kathleen
    PROCEEDINGS OF THE TLDI 2007: 2007 ACM SIGPLAN INTERNATIONAL WORKSHOP ON TYPES IN LANGUAGES DESIGN AND IMPLEMENTATION, 2007, : 39 - 39
  • [9] Data Set Representation and Tagging for Automating Data Cataloging
    Wang, Roman Z.
    Guven, Erhan
    Duva, Joseph L.
    Kramer, Michael
    Johns Hopkins APL Technical Digest (Applied Physics Laboratory), 2022, 36 (03): : 250 - 258
  • [10] Data Set Representation and Tagging for Automating Data Cataloging
    Wang, Roman Z.
    Guven, Erhan
    Duva, Joseph L.
    Kramer, Michael
    JOHNS HOPKINS APL TECHNICAL DIGEST, 2022, 36 (03): : 250 - 258