Back to Search
Start Over
Lightweight Interactive Proving inside an Automatic Program Verifier
- Source :
- 4th Workshop on Formal Integrated Development Environment, 4th Workshop on Formal Integrated Development Environment, 2018, Oxford, United Kingdom, F-IDE@FLoC, HAL, Electronic Proceedings in Theoretical Computer Science, Vol 284, Iss Proc. F-IDE 2018, Pp 1-15 (2018)
- Publication Year :
- 2018
- Publisher :
- HAL CCSD, 2018.
-
Abstract
- Among formal methods, the deductive verification approach allows establishing the strongest possible formal guarantees on critical software. The downside is the cost in terms of human effort required to design adequate formal specifications and to successfully discharge the required proof obligations. To popularize deductive verification in an industrial software development environment, it is essential to provide means to progressively transition from simple and automated approaches to deductive verification. The SPARK environment, for development of critical software written in Ada, goes towards this goal by providing automated tools for formally proving that some code fulfills the requirements expressed in Ada contracts. In a program verifier that makes use of automatic provers to discharge the proof obligations, a need for some additional user interaction with proof tasks shows up: either to help analyzing the reason of a proof failure or, ultimately, to discharge the verification conditions that are out-of-reach of state-of-the-art automatic provers. Adding interactive proof features in SPARK appears to be complicated by the fact that the proof toolchain makes use of the independent, intermediate verification tool Why3, which is generic enough to accept multiple front-ends for different input languages. This paper reports on our approach to extend Why3 with interactive proof features and also with a generic client-server infrastructure allowing integration of proof interaction into an external, front-end graphical user interface such as the one of SPARK.<br />In Proceedings F-IDE 2018, arXiv:1811.09014
- Subjects :
- FOS: Computer and information sciences
Computer Science - Logic in Computer Science
Computer science
02 engineering and technology
computer.software_genre
lcsh:QA75.5-76.95
Toolchain
Computer Science - Software Engineering
Software
020204 information systems
Formal specification
0202 electrical engineering, electronic engineering, information engineering
Code (cryptography)
computer.programming_language
Computer Science - Programming Languages
SIMPLE (military communications protocol)
business.industry
Programming language
lcsh:Mathematics
[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO]
020207 software engineering
lcsh:QA1-939
Formal methods
Logic in Computer Science (cs.LO)
Software Engineering (cs.SE)
SPARK (programming language)
TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS
lcsh:Electronic computers. Computer science
User interface
business
computer
Programming Languages (cs.PL)
Subjects
Details
- Language :
- English
- Database :
- OpenAIRE
- Journal :
- 4th Workshop on Formal Integrated Development Environment, 4th Workshop on Formal Integrated Development Environment, 2018, Oxford, United Kingdom, F-IDE@FLoC, HAL, Electronic Proceedings in Theoretical Computer Science, Vol 284, Iss Proc. F-IDE 2018, Pp 1-15 (2018)
- Accession number :
- edsair.doi.dedup.....6c8414d74676c018049a52d86c4691cb