MPI-INF Logo
Campus Event Calendar

Event Entry

New for: D2, D3

What and Who

PhD Application Talk: Proof Automation of Conditions of C-kernel Programs Correctness Based on PVS

Alexander Elyasov
Novosibirsk State University
Talk
AG 1, AG 3, AG 5, SWS, AG 2, AG 4, RG1, MMCI  
MPI Audience
English

Date, Time and Location

Monday, 12 July 2010
13:00
90 Minutes
E1 4
024
Saarbrücken

Abstract

The present Master's thesis seeks to develop a framework for proof automation of verification conditions of C-kernel programs. This framework is a part of the general verification project – C-light, which is designed two-stage verification method of C-light programs for. C-light language is a powerful subset of the ISO C language. On the first stage, C-light program is translated into intermediate language C-kernel for elimination some C-light constructs, which are complicated for axiomatic semantics. On the second stage, verification conditions are generated by means of rules of axiomatic C-kernel semantics. Generated verification conditions are too cumbersome even for simple programs, so it makes the process of proof more complicated.

The framework described in this thesis uses PVS as a core of proof automation process. PVS is a mechanized environment for formal specification and verification, as well as it enable to create, analyze, manage and document theories and proofs. PVS consists of a specification language, which is based on classical, typed higher-order logic, a number of predefined theories, a type checker and interactive theorem prover.
I developed and implemented a converter of correctness conditions into PVS theories. The converter is on Lisp language and a connecting part between the generator of correctness conditions and PVS. At first, verification conditions of C-kernel programs are translated to the PVS input format. Revelation of metavariables types and addition of special PVS theories, which are based on C-kernel semantics and necessary for subsequent proof, occur in the process of converting. After that verification conditions are simplified and finally combined into PVS theories. Assertion language has some constructions which weren't determined in the PVS language such as types definitions, metavariables and abstract functions. Therefore axiomatics was given for them. Also axiomatics of problem-oriented concepts was given for arrays and lists. This approach was successfully applied for verification of programs from test suite which included sorting programs and search in the unidirectional list.

Contact

IMPRS-CS
--email hidden
passcode not visible
logged in users only

Tags, Category, Keywords and additional notes

Please note: The talks will take place in random order!

Heike Przybyl, 07/01/2010 15:50 -- Created document.