A combination framework for tracking partition sizes

Sumit Gulwani*, Tal Lev-Ami, Mooly Sagiv

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

13 Scopus citations

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.

Original languageEnglish
Pages (from-to)239-251
Number of pages13
JournalACM SIGPLAN Notices
Volume44
Issue number1
DOIs
StatePublished - 2009

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