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...
| Publicado en: | Communications of the ACM Vol. 55; no. 12; pp. 91 - 100 |
|---|---|
| Autores principales: | , , , , |
| Formato: | Artículo |
| Publicado: |
Association for Computing Machinery
Dec2012
|
| Materias: | |
| Acceso en línea: | Ver este registro en EBSCOhost |
| fields | @attributes: recordID: 1 pdfLink: plink: https://search.ebscohost.com/login.aspx?direct=true&db=hlh&AN=84348481&site=ehost-live header: @attributes: shortDbName: hlh uiTerm: 84348481 longDbName: Humanities International Complete uiTag: AN controlInfo: bkinfo: jinfo: jid: 00010782 ACM jtl: Communications of the ACM issn: 00010782 maglogo: N pubinfo: dt: Dec2012 vid: 55 iid: 12 pid: 68 pub: Association for Computing Machinery artinfo: ui: 84348481 10.1145/2380656.2380677 ppf: 91 ppct: 9 formats: tig: atl: An Introduction to Data Representation Synthesis. aug: au: Hawkins, Peter Rinard, Martin Aiken, Alex Sagiv, Mooly Fisher, Kathleen affil: Stanford University MIT Stanford University. Tel-Aviv University Tufts University su: Data structures Abstract data types (Computer science) Relation algebras Functional dependencies Workload of computer networks Computer science Computer programming sug: subj: Data structures Abstract data types (Computer science) Relation algebras Functional dependencies Workload of computer networks Computer science Computer programming ab: 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. pubtype: Periodical doctype: Article src: R language: English refInfo: copyright: @attributes: flag: Y dt: @attributes: year: 2012 holdings: @attributes: islocal: N |
|---|