This paper addresses the problem of establishing temporal properties of programs written in languages, such as Java, that make extensive use of the heap to allocate - and deallocate - new objects and threads. Establishing liveness properties is a particularly hard challenge. One of the crucial obstacles is that heap locations have no static names and the number of heap locations is unbounded. The paper presents a framework for the verification of Java-like programs. Unlike classical model checking, which uses propositional temporal logic, we use first-order temporal logic to specify temporal properties of heap evolutions; this logic allows domain changes to be expressed, which permits allocation and deallocation to be modelled naturally. The paper also presents an abstract-interpretation algorithm that automatically verifies temporal properties expressed using the logic. © Springer-Verlag Berlin Heidelberg 2003.
CITATION STYLE
Yahav, E., Reps, T., Sagiv, M., & Wilhelm, R. (2003). Verifying temporal heap properties specified via evolution logic. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2618, 204–222. https://doi.org/10.1007/3-540-36575-3_15
Mendeley helps you to discover research relevant for your work.