An introduction to data representation synthesis
Author(s)
Hawkins, Peter; Rinard, Martin C; Aiken, Alex; Sagiv, Mooly; Fisher, Kathleen
DownloadAccepted version (404.3Kb)
Terms of use
Metadata
Show full item recordAbstract
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
Date issued
2012-12Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence LaboratoryJournal
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
ISSN
0001-0782
1557-7317
Keywords
General Computer Science