Verifying that a piece of software has no bugs means proving that it has certain desired properties, such as an array index not taking values outside certain Abstract interpretati...
Dependent types are useful for statically checking detailed specifications of programs and detecting pattern match or array bounds errors. We propose a novel approach to applicatio...
Dynamic analysis (instrumenting programs with code to detect and prevent errors during program execution) can be an effective approach to debugging, as well as an effective means ...
Type systems currently available for imperative languages are too weak to detect a significant class of programming errors. For example, they cannot express the property that a l...
The complexity of software in embedded systems has increased significantly over the last years so that software verification now plays an important role in ensuring the overall pr...