A formal verification framework for static analysis
Autor: | Elvira Albert, Richard Bubel, Reiner Hähnle, Guillermo Román-Díez, Samir Genaim, Germán Puebla |
---|---|
Rok vydání: | 2015 |
Předmět: |
Correctness
Programming language Computer science business.industry Reliability (computer networking) Static program analysis 0102 computer and information sciences 02 engineering and technology Static analysis computer.software_genre 01 natural sciences Resource (project management) 010201 computation theory & mathematics Modeling and Simulation 0202 electrical engineering electronic engineering information engineering Key (cryptography) 020201 artificial intelligence & image processing Software system Software engineering business computer Formal verification Software |
Zdroj: | Software & Systems Modeling. 15:987-1012 |
ISSN: | 1619-1374 1619-1366 |
DOI: | 10.1007/s10270-015-0476-y |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |