MoL-2012-15: Automatic Verication of Programs with Indirection

MoL-2012-15: Nienhuis, Kyndylan (2012) Automatic Verication of Programs with Indirection. [Report]

Text (Full Text)

Download (1MB) | Preview
[img] Text (Abstract)

Download (1kB)


In the first part we prove the correctness of an existing verification algorithm, namely counterexample-driven abstraction refinement. To be able to state the correctness of the algorithm, we modify it such that it verifies programs that have a formal semantics. We use propositional dynamic logic and we give a denotational semantics and an equivalent structural operational semantics. Then we consider a deterministic fragment of propositional dynamic logic. We improve the efficiency of the algorithm by exploiting determinism when present and we prove that this algorithm terminates on incorrect deterministic programs. Note that the algorithm will not always terminate on correct deterministic programs, since verification is undecidable in general. Finally, we consider programs with indirection and we show that the introduced algorithms verify these programs inefficiently. We propose symbolic execution as an alternative way of computing path constraints to circumvent this inefficiency. Furthermore, the variant of symbolic execution we define removes indirection from symbolic terms which enables us to use a theorem prover that does not handle indirection.

Item Type: Report
Report Nr: MoL-2012-15
Series Name: Master of Logic Thesis (MoL) Series
Year: 2012
Uncontrolled Keywords: Logic, Computation
Depositing User: Tanja Kassenaar
Date Deposited: 12 Oct 2016 14:38
Last Modified: 12 Oct 2016 14:38

Actions (login required)

View Item View Item