21st IEEE International Conference on Automated Software Engineering (ASE'06) A Portable Compiler-Integrated Approach to Permanent Checking Tokyo, Japan September 18-September 22 ISBN: 0-7695-2579-2
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ASE.2006.8
Program checking technology 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, but opens up new perspectives. Factorizing analyses between checking and compiling improves both the efficiency and the expressiveness of the checks. Minimalist user properties and languageindependent code pattern matching ensure that our approach can be integrated almost for free in any compiler for any language. We illustrate this approach with a fullfledged checking compiler for C. We demonstrate the need for permanent checking by partially analyzing two different releases of the Linux kernel.
Citation:
Nic Volanschi, "A Portable Compiler-Integrated Approach to Permanent Checking," ase, pp.103-112, 21st IEEE International Conference on Automated Software Engineering (ASE'06), 2006 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||