Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. Automating Ad hoc Data Representation Transformations
 
conference paper

Automating Ad hoc Data Representation Transformations

Ureche, Vlad  
•
Biboudis, Aggelos
•
Smaragdakis, Yannis
Show more
2015
Acm Sigplan Notices
Object Oriented Programming Systems Languages and Applications (OOPSLA)', u"[u'ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)

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.

  • Files
  • Details
  • Metrics
Type
conference paper
DOI
10.1145/2814270.2814271
Web of Science ID

WOS:000367256500046

Author(s)
Ureche, Vlad  
Biboudis, Aggelos
Smaragdakis, Yannis
Odersky, Martin  
Date Issued

2015

Publisher

Assoc Computing Machinery

Publisher place

New York

Published in
Acm Sigplan Notices
Total of pages

20

Volume

50

Issue

10

Start page

801

End page

820

Subjects

data representation

•

jvm

•

bytecode

•

compatibility

•

transformation

•

optimization

•

safety

•

semantics

Note

Published in OOPSLA '15: http://2015.splashcon.org/event/oopsla2015-automating-ad-hoc-data-representation-transformations

URL

URL

https://github.com/miniboxing/ildl-plugin
Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAMP1  
Event nameEvent placeEvent date
Object Oriented Programming Systems Languages and Applications (OOPSLA)', u"[u'ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)

Pittsburgh, PA, USA

October 25-30, 2015

Available on Infoscience
April 8, 2015
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/112930
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés