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...

Full description

Bibliographic Details
Main Author: Rakamarić, Zvonimir
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