Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1947873.1947893guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Data structure fusion

Published: 28 November 2010 Publication History

Abstract

We consider the problem of specifying 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; a novel fuse operation on relational indexes specifies where the underlying physical data structure representation has sharing. We permit the user to specify different concrete shared representations for relations, and show that the semantics of the relational specification are preserved.

References

[1]
Beeri, C., Fagin, R., Howard, J.H.: A complete axiomatization for functional and multivalued dependencies in database relations. In: SIGMOD, pp. 47-61. ACM, New York (1977).
[2]
Berdine, J., Calcagno, C., Cook, B., Distefano, D., O'Hearn, P., Wies, T., Yang, H.: Shape analysis for composite data structures. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 178-192. Springer, Heidelberg (2007).
[3]
Bierman, G., Wren, A.: First-class relationships in an object-oriented language. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 262-286. Springer, Heidelberg (2005).
[4]
Cai, J., Paige, R.: Look ma, no hashing, and no arrays neither. In: POPL, pp. 143-154 (1991).
[5]
Chlipala, A.J., Malecha, J.G., Morrisett, G., Shinnar, A., Wisnesky, R.: Effective interactive proofs for higher-order imperative programs. In: ICFP, pp. 79-90 (2009).
[6]
Codd, E.F.: A relational model of data for large shared data banks. Commun. ACM 13(6), 377-387 (1970).
[7]
Dewar, R.B.K., Grand, A., Liu, S.-C., Schwartz, J.T., Schonberg, E.: Programming by refinement, as exemplified by the SETL representation sublanguage. ACM Trans. Program. Lang. Syst. 1(1), 27-49 (1979).
[8]
Distefano, D., Parkinson, M.J.: jStar: towards practical verification for Java. In: OOPSLA, pp. 213-226 (2008).
[9]
Fahndrich, M., Leino, R.: Heap monotonic typestates. In: Int. Work. on Alias Confinement and Ownership (July 2003).
[10]
Hawkins, P., Aiken, A., Fisher, K., Rinard, M., Sagiv, M.: Data structure fusion, full (2010), http://theory.stanford.edu/~hawkinsp/papers/rel-full.pdf
[11]
Klarlund, N., Schwartzbach, M.I.: Graph types. In: POPL, Charleston, South Carolina, pp. 196-205. ACM, New York (1993).
[12]
Kreiker, J., Seidl, H., Vojdani, V.: Shape analysis of low-level C with overlapping structures. In: Barthe, G., Hermenegildo, M. (eds.) VMCAI 2010. LNCS, vol. 5944, pp. 214-230. Springer, Heidelberg (2010).
[13]
Kuncak, V., Lam, P., Rinard, M.: Role analysis. In: POPL, pp. 17-32 (2002).
[14]
Lam, P., Kuncak, V., Rinard, M.C.: Generalized typestate checking for data structure consistency. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 430-447. Springer, Heidelberg (2005).
[15]
Meijer, E., Beckman, B., Bierman, G.: LINQ: Reconciling objects, relations and XML in the .NET framework. In: SIGMOD, p. 706. ACM, New York (2006).
[16]
Olston, C., et al.: Pig Latin: A not-so-foreign language for data processing. In: SIGMOD (June 2008).
[17]
Paige, R., Henglein, F.: Mechanical translation of set theoretic problem specifications into efficient RAM code. J. Sym. Com. 4(2), 207-232 (1987).
[18]
J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In LICS (2002) (invited paper).
[19]
Rothamel, T., Liu, Y.A.: Efficient implementation of tuple pattern based retrieval. In: PEPM, pp. 81-90. ACM, New York (2007).
[20]
Schonberg, E., Schwartz, J.T., Sharir, M.: Automatic data structure selection in SETL. In: POPL, pp. 197-210 (1979).
[21]
Shacham, O., Vechev, M., Yahav, E.: Chameleon: adaptive selection of collections. In: PLDI, pp. 408-418 (2009).
[22]
Zee, K., Kuncak, V., Rinard, M.C.: Full functional verification of linked data structures. In: PLDI, pp. 349-361 (2008).

Cited By

View all
  • (2016)Cross-supervised synthesis of web-crawlersProceedings of the 38th International Conference on Software Engineering10.1145/2884781.2884842(368-379)Online publication date: 14-May-2016
  • (2011)Program analysis for overlaid data structuresProceedings of the 23rd international conference on Computer aided verification10.5555/2032305.2032353(592-608)Online publication date: 14-Jul-2011
  • (2011)Data representation synthesisProceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1993498.1993504(38-49)Online publication date: 4-Jun-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
APLAS'10: Proceedings of the 8th Asian conference on Programming languages and systems
November 2010
456 pages
ISBN:364217163X
  • Editor:
  • Kazunori Ueda

Sponsors

  • AAFS: Asian Association for Foundation of Software
  • Shanghai Jiao Tong University: Shanghai Jiao Tong University

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 28 November 2010

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Cross-supervised synthesis of web-crawlersProceedings of the 38th International Conference on Software Engineering10.1145/2884781.2884842(368-379)Online publication date: 14-May-2016
  • (2011)Program analysis for overlaid data structuresProceedings of the 23rd international conference on Computer aided verification10.5555/2032305.2032353(592-608)Online publication date: 14-Jul-2011
  • (2011)Data representation synthesisProceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1993498.1993504(38-49)Online publication date: 4-Jun-2011
  • (2011)Data representation synthesisACM SIGPLAN Notices10.1145/1993316.199350446:6(38-49)Online publication date: 4-Jun-2011

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media