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

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

[thumbnail of Full Text]
Text (Full Text)

Download (1MB) | Preview
[thumbnail of Abstract] 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