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

Descripción completa

Detalles Bibliográficos
Publicado en:Communications of the ACM Vol. 55; no. 12; pp. 91 - 100
Autores principales: Hawkins, Peter, Rinard, Martin, Aiken, Alex, Sagiv, Mooly, Fisher, Kathleen
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