A formal verification framework for static analysis |
| |
Authors: | Elvira Albert Richard Bubel Samir Genaim Reiner Hähnle Germán Puebla Guillermo Román-Díez |
| |
Affiliation: | 1.DSIC,Complutense University of Madrid (UCM),Madrid,Spain;2.CSD,Technical University of Darmstadt,Darmstadt,Germany;3.DLSIIS,Technical University of Madrid (UPM),Madrid,Spain |
| |
Abstract: | Static analysis tools, such as resource analyzers, give useful information on software systems, especially in real-time and safety-critical applications. Therefore, the question of the reliability of the obtained results is highly important. State-of-the-art static analyzers typically combine a range of complex techniques, make use of external tools, and evolve quickly. To formally verify such systems is not a realistic option. In this work, we propose a different approach whereby, instead of the tools, we formally verify the results of the tools. The central idea of such a formal verification framework for static analysis is the method-wise translation of the information about a program gathered during its static analysis into specification contracts that contain enough information for them to be verified automatically. We instantiate this framework with costa, a state-of-the-art static analysis system for sequential Java programs, for producing resource guarantees and KeY, a state-of-the-art verification tool, for formally verifying the correctness of such resource guarantees. Resource guarantees allow to be certain that programs will run within the indicated amount of resources, which may refer to memory consumption, number of instructions executed, etc. Our results show that the proposed tool cooperation can be used for automatically producing verified resource guarantees. |
| |
Keywords: | |
本文献已被 SpringerLink 等数据库收录! |
|