Ahmed, Inaam (2020) Verification of concurrent HARPO programs using formal verification theory. Masters thesis, Memorial University of Newfoundland.
[English]
PDF
- 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. Download (205MB) |
Abstract
Defects in software cost money and sometimes lives. Even with rigorous testing, there are countless ways for programs to go wrong. Testing does not guarantee that a given program is correct for every input. Concurrent program testing does not guarantee that a program is correct for the example inputs. Formal program verification has been used as a technique to ensure program correctness for several years. It analyses the properties of the code and ensures that nothing goes wrong. In this thesis, a formal verification tool is designed and implemented based on Boogie IVL (Intermediate Verification Language) for a multi-threaded and object-oriented language named HARPO (HARdware Parallel Objects). We have designed the specific annotations intended only for use in verification. These annotations help the HARPO verifier to translate the program into an equivalent Boogie code. The resulting Boogie code is checked with theorem provers to verify the correctness of the HARPO program. Boogie code generation is tested using unit testing, and some of the case studies are reported. Consequently, programmers can use the HARPO verifier for verification of their concurrent programs.
Item Type: | Thesis (Masters) |
---|---|
URI: | http://research.library.mun.ca/id/eprint/14696 |
Item ID: | 14696 |
Additional Information: | Includes bibliographical references (pages 118-122) |
Keywords: | HARPO, Verification, Verifier, Programming Languages, Boogie, Scala |
Department(s): | Engineering and Applied Science, Faculty of |
Date: | October 2020 |
Date Type: | Submission |
Digital Object Identifier (DOI): | https://doi.org/10.48336/z7rx-3p88 |
Library of Congress Subject Heading: | Programming languages (Electronic computers); Computer programming--Management; Hardware Parallel Objects (HARPO) |
Actions (login required)
View Item |