Title :
A case study of C source code verification: the Schorr-Waite algorithm
Author :
Hubert, Thierry ; Marché, Claude
Author_Institution :
LRI, Paris II Univ., France
Abstract :
We describe an experiment of formal verification of C source code, using the CADUCEUS tool. We performed a full formal proof of the classical Schorr-Waite graph-marking algorithm, which has already been used several times as a case study for formal reasoning on pointer programs. Our study is original with respect to previous experiments for several reasons. First, we use a general-purpose tool for C programs: we start from a real source code written in C, specified using an annotation language for arbitrary C programs. Second, we use several theorem provers as back-ends, both automatic and interactive. Third, we indeed formally establish more properties of the algorithm than previous works, in particular a formal proof of termination is made.
Keywords :
C language; formal specification; reasoning about programs; theorem proving; C source code verification; CADUCEUS tool; Schorr-Waite graph-marking algorithm; annotation language; formal reasoning; formal verification; Assembly; Computer aided software engineering; Computer languages; Data structures; Formal verification; Java; Logic programming; Mobile handsets; Prototypes; Smart cards;
Conference_Titel :
Software Engineering and Formal Methods, 2005. SEFM 2005. Third IEEE International Conference on
Print_ISBN :
0-7695-2435-4
DOI :
10.1109/SEFM.2005.1