Heap decomposition inference with linear programming

0Citations
Citations of this article
14Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Hierarchical decomposition is a fundamental principle that encourages the organization of program elements into nested scopes of access, instead of treating all as "global." This paper offers a foundational study of heap decomposition inference, the problem of statically extracting the decomposition hierarchy latent in the runtimes of object-oriented programs, henceforth revealing the compositional nature of the heap. The centerpiece of the paper is Cypress, a sound, precise, and scalable constraint-based ownership type inference coupled with a novel application of linear programming over integers. All constraints in Cypress are linear, and the precision of decomposition - placing objects to scopes as non-global as possible - can be reduced to a linear programming problem. Cypress has been implemented as an open-source tool that can decompose real-world Java applications of more than 100K LOC and up to 6000 statically distinct instantiations. © 2013 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Zhu, H. S., & Liu, Y. D. (2013). Heap decomposition inference with linear programming. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7920 LNCS, pp. 104–128). Springer Verlag. https://doi.org/10.1007/978-3-642-39038-8_5

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free