Abstract
We introduce a new way of reasoning about invariance in terms of footprints in a program logic for object-oriented components. A footprint of an object-oriented component is formalized as a monadic predicate that describes which objects on the heap can be affected by the execution of the component. Assuming encapsulation, this amounts to specifying which objects of the component can be called. Adaptation of local specifications into global specifications amounts to showing invariance of assertions, which is ensured by means of a form of bounded quantification which excludes references to a given footprint. The new approach is compared to two existing approaches to reason about invariance: separation logic and dynamic frames.
Original language | English |
---|---|
Article number | 11 |
Number of pages | 23 |
Journal | Formal Aspects of Computing |
Volume | 37 |
Issue number | 2 |
DOIs | |
Publication status | Published - 2025 |
Keywords
- Hoare logic
- invariance
- strong partial correctness