Compositional Concurrent Program Verification with RGITL
- This thesis takes up the challenge of formal specification and verification of concurrent programs with shared memory. To this end, we use the logic Rely-Guarantee Interval Temporal Logic (RGITL) that has been natively implemented in the interactive theorem prover KIV. The logic incorporates several techniques that make the verification of such concurrent programs more tractable. In particular, temporal logic makes it possible to intuitively specify both safety and liveness requirements for these programs. Moreover, compositional reasoning breaks down the verification of a property of a concurrent program into smaller proof obligations that must be shown for the constituent subprograms. We mechanically derive various rely-guarantee rules for the compositional verification of partial/total correctness and absence of deadlock of concurrent programs in RGITL. Moreover, we evaluate the practical use of the logic in the domain of highly concurrent data structure implementations: We deriveThis thesis takes up the challenge of formal specification and verification of concurrent programs with shared memory. To this end, we use the logic Rely-Guarantee Interval Temporal Logic (RGITL) that has been natively implemented in the interactive theorem prover KIV. The logic incorporates several techniques that make the verification of such concurrent programs more tractable. In particular, temporal logic makes it possible to intuitively specify both safety and liveness requirements for these programs. Moreover, compositional reasoning breaks down the verification of a property of a concurrent program into smaller proof obligations that must be shown for the constituent subprograms. We mechanically derive various rely-guarantee rules for the compositional verification of partial/total correctness and absence of deadlock of concurrent programs in RGITL. Moreover, we evaluate the practical use of the logic in the domain of highly concurrent data structure implementations: We derive novel compositional proof methods for the central safety/liveness conditions of linearizability and lock-freedom. Finally, we show the application of our methods to verify a number of intricate data structure implementations correct.…
Author: | Bogdan Tofan |
---|---|
URN: | urn:nbn:de:bvb:384-opus4-28555 |
Frontdoor URL | https://opus.bibliothek.uni-augsburg.de/opus4/2855 |
Advisor: | Wolfgang Reif |
Type: | Doctoral Thesis |
Language: | English |
Publishing Institution: | Universität Augsburg |
Granting Institution: | Universität Augsburg, Fakultät für Angewandte Informatik |
Date of final exam: | 2014/07/11 |
Release Date: | 2014/10/07 |
Tag: | formal methods; concurrency; compositional reasoning; temporal logic; rely-guarantee reasoning; concurrent data structure; linearizability; lock-freedom |
GND-Keyword: | Nebenläufigkeit; Algebraische Spezifikation; Programmverifikation; Temporale Logik |
Institutes: | Fakultät für Angewandte Informatik |
Fakultät für Angewandte Informatik / Institut für Software & Systems Engineering | |
Dewey Decimal Classification: | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik |
Licence (German): | Deutsches Urheberrecht mit Print on Demand |