Yousefi Ghalehjoogh, Fatemeh (2014) Verification of the HARPO language. Masters thesis, Memorial University of Newfoundland.
- Accepted Version
Available under License - The author retains copyright ownership and moral rights in this thesis. Neither the thesis nor substantial extracts from it may be printed or otherwise reproduced without the author's permission.
Verification of sequential programs is hard. Verification of concurrent programs is even harder because it involves considering the possibility of thread interference in addition to the complexity of sequential reasoning. The purpose of this thesis is to develop a methodology for the automated verification of the multi-threaded and object-oriented HARPO/L language. A verification methodology is presented which allows verifying a program based on its contracts. In particular, it gaurantees data-race-freedom, verification of data invariants (i.e. ab- sence of data corruption), and, to the extent that the pre- and postconditions specify it, correctness of the interface to shared objects. The methodology is built based on implicit dynamic frames with fractional permissions. A specification language is developed based on this methodology to allow programmers to express their de- sign decisions formally. The verification technique is based on verification-condition generation and automated theorem proving. A translation from HARPO/L to the intermediate verification language, Boogie, is provided in the thesis. The e¢ cacy of this approach is demonstrated by translating several examples to Boogie and using automated verification on the translation.
|Item Type:||Thesis (Masters)|
|Additional Information:||Includes bibliographical references (pages 119-122).|
|Department(s):||Engineering and Applied Science, Faculty of|
Actions (login required)