We present a novel approach to automatically generate invariants for loops manipulating arrays. The intention is to achieve formal verification of programs over arrays without the need for userspecified loop invariants. Many loops iterate and manipulate collections. Finding useful, i.e., sufficiently precise invariants for those loops is a challenging task, in particular, if the iteration order is complex. Our approach partitions an array and provides an abstraction for each of these partitions. Symbolic pivot elements are used to compute the partitions. In addition we integrate a faithful and precise program logic for sequential (Java) programs with abstract interpretation using an extensible multilayered framework to compute array invariants. The presented approach has been implemented. Results of experiments are reported.
CITATION STYLE
Hähnle, R., Wasser, N., & Bubel, R. (2016). Array abstraction with symbolic pivots. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9660, pp. 104–121). Springer Verlag. https://doi.org/10.1007/978-3-319-30734-3_9
Mendeley helps you to discover research relevant for your work.