University of Ulm, Faculty of Computer Science, Dept. of Artificial Intelligence up: Research

Verifix (Verifying Compilers)



 Project Description

Erroneous and buggy software dramatically increases the cost of software development cycles, the maintenance phase and even minor bugs often spoil the confidence in a software system. Software testing is one method to improve software reliability but especially the correctness of safety critical software crucially depends on the correctness of the underlying software engineering tools.

Adequate software engineering methods, especially formal methods, are used to support the correct construction of programs in high level programming languages. Compilers are used to transform those programs into binary executable code on concrete hardware processors. Thus, compilers themselves are used as tools in the process of correct construction and implementation of software. The correctness of the entire process crucially depends on compiler correctness.

Verifix is a joint research effort of groups at the universities Karlsruhe (G. Goos, W. Zimmermann), Kiel (H. Langmaack, W. Goerigk), and Ulm (F.W. von Henke, A. Dold) funded by the DFG (German Research Council) since 1995. The project aims at developing innovative repeatable engineering methods for constructing verifying compilers

Verifying Compilers is ambiguous by intent. On the one hand, verifying a compiler denotes an activity, namely to correctly construct or to prove compiler programs correct. On the other hand, a compiler itself can check or verify generated target programs; it can itself by verifying. This addresses runtime result verification or a-posteriori program checking techniques of compiler programs.

Full compiler correctness comprises


 Main Results

The main results and achievements of the Verifix project are as follows:


 Verifix @ Ulm

The emphasis of the work at Ulm is on the main formal aspects, i.e. on formalizing, structuring, and automating proofs for establishing correctness results about compiler phases. As a formal verification vehicle, the specification and verification system PVS has been chosen. In particular, the project results achieved at Ulm are as follows:


 Project Members


 Selected Publications

(a complete list of Verifix publications and technical reports can be found on the project homepage)


Dept. of AI Homepage Research Help Mail to Webmaster Axel Dold - October 2002