Abstract
We propose an approach for the modular specification and verification of total correctness properties of object-oriented programs. We start from an existing program logic for partial correctness based on separation logic and abstract predicate families. We extend it with call permissions qualified by an arbitrary ordinal number, and we define a specification style that properly hides implementation details, based on the ideas of using methods and bags of methods as ordinals, and exposing the bag of methods reachable from an object as an abstract predicate argument. These enable each method to abstractly request permission to call all methods reachable by it any finite number of times, and to delegate similar permissions to its callees. We illustrate the approach with several examples.
Original language | English |
---|---|
Title of host publication | 29th European Conference on Object-Oriented Programming, ECOOP 2015 |
Editors | J.T. Boyland |
Publisher | Schloss Dagstuhl - Leibniz-Zentrum für Informatik |
Pages | 664-688 |
Number of pages | 25 |
Volume | 37 |
ISBN (Electronic) | 9783939897866 |
DOIs | |
Publication status | Published - 1 Jul 2015 |
Event | 29th European Conference on Object-Oriented Programming, ECOOP 2015, 5-10 July 2015, Prague, Czech Republic - Prague, Czech Republic Duration: 5 Jul 2015 → 10 Jul 2015 http://2015.ecoop.org/ |
Conference
Conference | 29th European Conference on Object-Oriented Programming, ECOOP 2015, 5-10 July 2015, Prague, Czech Republic |
---|---|
Abbreviated title | ECOOP2015 |
Country/Territory | Czech Republic |
City | Prague |
Period | 5/07/15 → 10/07/15 |
Internet address |
Keywords
- Modular verification
- Program verification
- Separation logic
- Termination
- Well-founded relations