Automated Software Engineering

, Volume 15, Issue 1, pp 3–33

A portable compiler-integrated approach to permanent checking


DOI: 10.1007/s10515-007-0022-4

Cite this article as:
Volanschi, N. Autom Softw Eng (2008) 15: 3. doi:10.1007/s10515-007-0022-4


Program checking is now a mature technology, but is not yet used on a large scale. We identify one cause of this gap in the decoupling of checking tools from the everyday development tools. To radically change the situation, we explore the integration of simple user-defined checks into the core of every development process: the compiler. The checks we implement express constrained reachability queries in the control flow graph taking the form “from x to y avoiding z”, where x, y, and z are native code patterns containing a blend of syntactic, semantic and dataflow information. Compiler integration enables continuous checking throughout development, but also a pervasive propagation of checking technology. This integration poses some interesting challenges, including tight bounds on the acceptable overhead, but in turn opens up new perspectives. Factorizing analyses between checking and compiling improves both the efficiency and the expressiveness of the checks.


Extensible compilers User-defined checks 

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  1. 1.PoissyFrance

Personalised recommendations