A logic and decision procedure for verification of heap-manipulating programs
Heap-manipulating programs (HMPs), which manipulate unbounded linked data structures via pointers, are a major frontier for formal verification of software. Formal verification is the process of proving (or disproving) the correctness of a system with respect to some kind of formal specification or...
Main Author: | |
---|---|
Language: | English |
Published: |
2010
|
Online Access: | http://hdl.handle.net/2429/18130 |
id |
ndltd-UBC-oai-circle.library.ubc.ca-2429-18130 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UBC-oai-circle.library.ubc.ca-2429-181302018-01-05T17:39:14Z A logic and decision procedure for verification of heap-manipulating programs Rakamarić, Zvonimir Heap-manipulating programs (HMPs), which manipulate unbounded linked data structures via pointers, are a major frontier for formal verification of software. Formal verification is the process of proving (or disproving) the correctness of a system with respect to some kind of formal specification or property. The primary contributions of this thesis are the definition of a simple transitive closure logic tailored for formal verification of HMPs, and an efficient decision procedure for this logic. To assess the effectiveness of the proposed approach, we develop an HMP verification framework, which uses our fast implementation of the decision procedure to verify a number of HMP examples. Experimental examples (including three small container functions from the Linux kernel) demonstrate that the logic is practically useful and expressive enough to prove many interesting heap properties. In addition, the decision procedure provides a substantial time and space advantage over previous approaches. Science, Faculty of Computer Science, Department of Graduate 2010-01-13T00:55:33Z 2010-01-13T00:55:33Z 2006 2006-11 Text Thesis/Dissertation http://hdl.handle.net/2429/18130 eng For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use. |
collection |
NDLTD |
language |
English |
sources |
NDLTD |
description |
Heap-manipulating programs (HMPs), which manipulate unbounded linked data structures via pointers, are a major frontier for formal verification of software. Formal verification is the process of proving (or disproving) the correctness of a system with respect to some kind of formal specification or property. The primary contributions of this thesis are the definition of a simple transitive closure logic tailored for formal verification of HMPs, and an efficient decision procedure for this logic. To assess the effectiveness of the proposed approach, we develop an HMP verification framework, which uses our fast implementation of the decision procedure to verify a number of HMP examples. Experimental examples (including three small container functions from the Linux kernel) demonstrate that the logic is practically useful and expressive enough to prove many interesting heap properties. In addition, the decision procedure provides a substantial time and space advantage over previous approaches. === Science, Faculty of === Computer Science, Department of === Graduate |
author |
Rakamarić, Zvonimir |
spellingShingle |
Rakamarić, Zvonimir A logic and decision procedure for verification of heap-manipulating programs |
author_facet |
Rakamarić, Zvonimir |
author_sort |
Rakamarić, Zvonimir |
title |
A logic and decision procedure for verification of heap-manipulating programs |
title_short |
A logic and decision procedure for verification of heap-manipulating programs |
title_full |
A logic and decision procedure for verification of heap-manipulating programs |
title_fullStr |
A logic and decision procedure for verification of heap-manipulating programs |
title_full_unstemmed |
A logic and decision procedure for verification of heap-manipulating programs |
title_sort |
logic and decision procedure for verification of heap-manipulating programs |
publishDate |
2010 |
url |
http://hdl.handle.net/2429/18130 |
work_keys_str_mv |
AT rakamariczvonimir alogicanddecisionprocedureforverificationofheapmanipulatingprograms AT rakamariczvonimir logicanddecisionprocedureforverificationofheapmanipulatingprograms |
_version_ |
1718590739381747712 |