Data representation synthesis

  • Authors:
  • Peter Hawkins;Alex Aiken;Kathleen Fisher;Martin Rinard;Mooly Sagiv

  • Affiliations:
  • Stanford University, Stanford, CA, USA;Stanford University, Stanford, CA, USA;Tufts University, Medford, MA, USA;Massachusetts Institute of Technology, Cambridge, MA, USA;Tel-Aviv University, Tel-Aviv, Israel

  • Venue:
  • Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
  • Year:
  • 2011

Quantified Score

Hi-index 0.02

Visualization

Abstract

We consider the problem of specifying combinations of data structures with complex sharing in a manner that is both 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 permit the user to specify different concrete representations for relations, and show that operations on concrete representations soundly implement their relational specification. 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.