An introduction to data representation synthesis
Name
cacm13.pdf
Description
Accepted version
Size
404.34 KB
Format
Adobe PDF
Checksum (MD5)
1c156e09a49bbf93b3474c9bd4977bbb
Author(s) • • • •
Hawkins, Peter
Rinard, Martin C
Aiken, Alex
Sagiv, Mooly
Fisher, Kathleen
Date Issued
December 2012
Journal
Communications of the ACM
Publisher
Association for Computing Machinery (ACM)
Citation
Hawkins, Peter et al. "An introduction to data representation synthesis." Communications of the ACM 55, 12 (December 2012): 91-99. © 2012 ACM
Version
Author's final manuscript
Abstract
We consider the problem of specifying combinations of data structures with complex sharing in a manner that is declarative and results in provably correct code. In our approach, abstract data types are specified using relational algebra and functional dependencies. We describe a language of decompositions that permits the user to specify different concrete representations for relations, and show that operations on concrete representations soundly implement their relational specification. We also describe an auto-tuner that automatically identifies the best decomposition for a particular workload. It is easy to incorporate data representations synthesized by our compiler into existing systems, leading to code that is simpler, correct by construction, and comparable in performance to the code it replaces. Keywords: Information systems; Information storage systems; Record storage systems; Record storage alternatives
Subjects
General Computer Science
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/2380656.2380677