Modular Heap Analysis for Higher-Order Programs
- Cite this paper as:
- Madhavan R., Ramalingam G., Vaswani K. (2012) Modular Heap Analysis for Higher-Order Programs. In: Miné A., Schmidt D. (eds) Static Analysis. SAS 2012. Lecture Notes in Computer Science, vol 7460. Springer, Berlin, Heidelberg
We consider the problem of computing summaries for procedures that soundly capture the effect of calling a procedure on program state that includes a mutable heap. Such summaries are the basis for a compositional program analysis and key to scalability. Higher order procedures contain callbacks (indirect calls to procedures specified by callers). The use of such callbacks and higher-order features are becoming increasingly widespread and commonplace even in mainstream imperative languages such as C# and Java. Such callbacks complicate compositional analysis and the construction of procedure summaries. We present an abstract-interpretation based approach to computing summaries (of a procedure’s effect on a mutable heap) in the presence of callbacks in a simple imperative language. We present an empirical evaluation of our approach.
Unable to display preview. Download preview PDF.