Decision Procedures for the Formal Analysis of Software
Catching bugs in programs is difficult and time-consuming. The effort of debugging and proving correct even small units of code can surpass the effort of programming. Bugs inserted while “programming in the small” can have dramatic consequences for the consistency of a whole software system as shown, e.g., by viruses which can spread by exploiting buffer overflows, a bug which typically arises while coding a small portion of code. To detect this kind of errors, many verification techniques have been put forward such as static analysis and model checking.
KeywordsModel Check Decision Procedure Theorem Prover Combination Schema Automatic Tool
Unable to display preview. Download preview PDF.
- 3.Déharbe, D., Ranise, S.: Light-Weight Theorem Proving for Debugging and Verifying Units of Code. In: Proc. of the Int. Conf. on Software Engineering and Formal Methods (SEFM 2003), pp. 220–228. IEEE Computer Society, Los Alamitos (2003)Google Scholar
- 4.Déharbe, D., Ranise, S.: Satisfiability Solving for Software Verification. In: Proc. of IEEE/NASA Workshop on Leveraging Applications of Formal Methods, Verification, and Validation (ISoLA 2005) (2005)Google Scholar
- 5.Fontaine, P.: Techniques for verification of concurrent systems with invariants. PhD thesis, Institut Montefiore, Université de Liège, Belgium (September 2004)Google Scholar
- 8.Nelson, G.: Techniques for Program Verification. Technical Report CSL-81-10, Xerox Palo Alto Research Center (June 1981)Google Scholar