A combination framework for tracking partition sizes

Sumit Gulwani*, Tal Lev-Ami, Mooly Sagiv

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We describe an abstract interpretation based framework for proving relationships between sizes of memory partitions. Instances of this framework can prove traditional properties such as memory safety and program termination but can also establish upper bounds on usage of dynamically allocated memory. Our framework also stands out in its ability to prove properties of programs manipulating both heap and arrays which is considered a difficult task. Technically, we define an abstract domain that is parameterized by an abstract domain for tracking memory partitions (sets of memory locations) and by a numerical abstract domain for tracking relationships between cardinalities of the partitions. We describe algorithms to construct the transfer functions for the abstract domain in terms of the corresponding transfer functions of the parameterized abstract domains. A prototype of the framework was implemented and used to prove interesting properties of realistic programs, including programs that could not have been automatically analyzed before. Copyright

Original languageEnglish
Title of host publicationProceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'09
Pages239-251
Number of pages13
DOIs
StatePublished - 2009
Event36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'09 - Savannah, GA, United States
Duration: 21 Jan 200923 Jan 2009

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Conference

Conference36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'09
Country/TerritoryUnited States
CitySavannah, GA
Period21/01/0923/01/09

Keywords

  • Combining analyses
  • Memory safety
  • Numerical analysis
  • Set analysis
  • Shape analysis
  • Space bounds
  • Termination

Fingerprint

Dive into the research topics of 'A combination framework for tracking partition sizes'. Together they form a unique fingerprint.

Cite this