Numeric Analysis of Array Operations
Denis Gopan, Thomas Reps, and Mooly Sagiv
We present a numeric analysis that is capable of reasoning about array
operations. In particular, the analysis is able to establish that all
elements of an array have been initialized (``an array kill''), as well
as to discover numeric constraints on values of initialized array
elements, and to verify the correctness of comparison-based sorting
algorithms. The analysis is based on the combination of canonical
abstraction and summarizing numeric domains. We present a prototype
implementation of the analysis and discuss our experience with applying
this prototype to several kernel examples.
(Click here to access the paper:
PDF.)