An introduction to data representation synthesis

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 decompos...

Full description

Bibliographic Details
Main Authors: Hawkins, Peter, Rinard, Martin C, Aiken, Alex, Sagiv, Mooly, Fisher, Kathleen
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: Association for Computing Machinery (ACM) 2020
Subjects:
Online Access:https://hdl.handle.net/1721.1/124647
_version_ 1826211576922767360
author Hawkins, Peter
Rinard, Martin C
Aiken, Alex
Sagiv, Mooly
Fisher, Kathleen
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Hawkins, Peter
Rinard, Martin C
Aiken, Alex
Sagiv, Mooly
Fisher, Kathleen
author_sort Hawkins, Peter
collection MIT
description 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
first_indexed 2024-09-23T15:08:11Z
format Article
id mit-1721.1/124647
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T15:08:11Z
publishDate 2020
publisher Association for Computing Machinery (ACM)
record_format dspace
spelling mit-1721.1/1246472022-10-02T00:49:39Z An introduction to data representation synthesis Hawkins, Peter Rinard, Martin C Aiken, Alex Sagiv, Mooly Fisher, Kathleen Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory General Computer Science 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 National Science Foundation (CCF-0702681) National Science Foundation (CNS-050955) 2020-04-15T12:32:13Z 2020-04-15T12:32:13Z 2012-12 2019-07-02T15:46:38Z Article http://purl.org/eprint/type/JournalArticle 0001-0782 1557-7317 https://hdl.handle.net/1721.1/124647 Hawkins, Peter et al. "An introduction to data representation synthesis." Communications of the ACM 55, 12 (December 2012): 91-99. © 2012 ACM en http://dx.doi.org/10.1145/2380656.2380677 Communications of the ACM Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery (ACM) other univ website
spellingShingle General Computer Science
Hawkins, Peter
Rinard, Martin C
Aiken, Alex
Sagiv, Mooly
Fisher, Kathleen
An introduction to data representation synthesis
title An introduction to data representation synthesis
title_full An introduction to data representation synthesis
title_fullStr An introduction to data representation synthesis
title_full_unstemmed An introduction to data representation synthesis
title_short An introduction to data representation synthesis
title_sort introduction to data representation synthesis
topic General Computer Science
url https://hdl.handle.net/1721.1/124647
work_keys_str_mv AT hawkinspeter anintroductiontodatarepresentationsynthesis
AT rinardmartinc anintroductiontodatarepresentationsynthesis
AT aikenalex anintroductiontodatarepresentationsynthesis
AT sagivmooly anintroductiontodatarepresentationsynthesis
AT fisherkathleen anintroductiontodatarepresentationsynthesis
AT hawkinspeter introductiontodatarepresentationsynthesis
AT rinardmartinc introductiontodatarepresentationsynthesis
AT aikenalex introductiontodatarepresentationsynthesis
AT sagivmooly introductiontodatarepresentationsynthesis
AT fisherkathleen introductiontodatarepresentationsynthesis