Advertisement

Decision Procedures for the Formal Analysis of Software

  • David Déharbe
  • Pascal Fontaine
  • Silvio Ranise
  • Christophe Ringeissen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4281)

Abstract

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.

Keywords

Model Check Decision Procedure Theorem Prover Combination Schema Automatic Tool 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: On a rewriting approach to satisfiability procedures: Extension, combination of theories and an experimental appraisal. In: Gramlich, B. (ed.) FroCos 2005. LNCS, vol. 3717, pp. 65–80. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Armando, A., Ranise, S., Rusinowitch, M.: A Rewriting Approach to Satisfiability Procedures. Information and Computation 183(2), 140–164 (2003)CrossRefMathSciNetMATHGoogle Scholar
  3. 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. 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. 5.
    Fontaine, P.: Techniques for verification of concurrent systems with invariants. PhD thesis, Institut Montefiore, Université de Liège, Belgium (September 2004)Google Scholar
  6. 6.
    Fontaine, P., Marion, J.-Y., Merz, S., Nieto, L.P., Tiu, A.F.: Expressiveness + automation + soundness: Towards combining SMT solvers and interactive proof assistants. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 167–181. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Kirchner, H., Ranise, S., Ringeissen, C., Tran, D.-K.: On Superposition-Based Satisfiability Procedures and Their Combination. In: Van Hung, D., Wirsing, M. (eds.) ICTAC 2005. LNCS, vol. 3722, pp. 594–608. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Nelson, G.: Techniques for Program Verification. Technical Report CSL-81-10, Xerox Palo Alto Research Center (June 1981)Google Scholar
  9. 9.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. on Programming Languages and Systems 1(2), 245–257 (1979)CrossRefMATHGoogle Scholar
  10. 10.
    Nipkow, T., Paulson, L., Wenzel, M.: Isabelle/HOL. A Proof Assistant for Higher-Order Logic. In: Nipkow, T., Paulson, L.C., Wenzel, M.T. (eds.) Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    Ranise, S., Ringeissen, C., Tran, D.-K.: Nelson-Oppen, Shostak and the Extended Canonizer: A Family Picture with a Newborn. In: Liu, Z., Araki, K. (eds.) ICTAC 2004. LNCS, vol. 3407, pp. 372–386. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Ranise, S., Ringeissen, C., Zarba, C.G.: Combining data structures with nonstably infinite theories using many-sorted logic. In: Gramlich, B. (ed.) FroCos 2005. LNCS, vol. 3717, pp. 48–64. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Shankar, N., Rueß, H.: Combining shostak theories. In: Tison, S. (ed.) RTA 2002. LNCS, vol. 2378, pp. 1–18. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  14. 14.
    Shostak, R.E.: Deciding combinations of theories. J. of the ACM 31, 1–12 (1984)CrossRefMathSciNetMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • David Déharbe
    • 1
  • Pascal Fontaine
    • 2
  • Silvio Ranise
    • 2
    • 3
  • Christophe Ringeissen
    • 2
  1. 1.UFRN/DIMAp, NatalBrazil
  2. 2.LORIA, NancyFrance
  3. 3.Univerisità di MilanoItaly

Personalised recommendations