A framework for numeric analysis of array operations

Denis Gopan*, Thomas Reps, Mooly Sagiv

*Corresponding author for this work

Research output: Contribution to journalConference articlepeer-review

Abstract

Automatic discovery of relationships among values of array elements is a challenging problem due to the unbounded nature of arrays. We present a framework for analyzing array operations that is capable of capturing numeric properties of array elements. In particular, the analysis is able to establish that all array elements are initialized by an array-initialization loop, as well as to discover numeric constraints on the values of initialized elements. The analysis is based on the combination of canonical abstraction and summarizing numeric domains. We describe a prototype implementation of the analysis and discuss our experience with applying the prototype to several examples, including the verification of correctness of an insertion-sort procedure.

Original languageEnglish
Pages (from-to)338-350
Number of pages13
JournalConference Record of the Annual ACM Symposium on Principles of Programming Languages
DOIs
StatePublished - 2005
EventPOPL 2005: The 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - Long Beach, CA, United States
Duration: 12 Jan 200514 Jan 2005

Keywords

  • Abstract numeric domains
  • Array analysis
  • Canonical abstraction
  • Program analysis
  • Summarization

Cite this