Abstract
Declarative techniques for software verification require the availability of scalable, predictable, and flexible satisfiability solvers. We describe our approach to build such solvers by combining equational theorem proving, Boolean solving, arithmetic reasoning, and some transformations of the proof obligations. The proposed techniques have been implemented in a system called haRVey and the viability of the approach is shown on proof obligations generated in the certification of aerospace code.
Similar content being viewed by others
References
Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: On a rewriting approach to satisfiability procedures: extension, combination of theories and an experimental appraisal. ACM TOCL 10(1), (2009)
Armando A., Ranise S., Rusinowitch M.: A rewriting approach to satisfiability procedures. Inf. Comput. 183(2), 140–164 (2003)
Ball, T., Rajamani, S.K.: Automatically validating temporal safety properties of interfaces. In: Proceedings of SPIN 2001. Lecture Notes in Computer Science, vol. 2057, pp. 103–122 (2001)
Boyer R., Moore J.S.: Integrating decision procedures into heuristic theorem provers: a case study of linear arithmetic. Mach. Intell. 11, 83–124 (1988)
Couchot J.F., Déharbe D., Giorgetti A., Ranise S.: Scalable automated proving and debugging of set-based specifications. J. Braz. Comput. Soc. 9(2), 17–36 (2003)
Couchot, J.F., Hubert, T.: A graph-based strategy for the selection of hypotheses. In: FTP 2007—International Workshop on First-Order Theorem Proving. Liverpool (2007)
Déharbe, D., Ranise, S.: Light-Weight Theorem Proving for Debugging and Verifying Units of Code. In: I.C.S. Press (ed.) SEFM’03 (2003)
Denney, E., Fischer, B., Schumann, J.: Using automated theorem provers to certify auto-generated aerospace software. In: Proceedings of IJCAR’04. Lecture Notes in Computer Science, vol. 3097 (2004)
Detlefs D., Nelson G.C., Saxe J.B.: Simplify: a theorem prover for program checking. JACM 52(3), 365–473 (2005)
Enderton H.B.: A Mathematical Introduction to Logic. Academic Press, New York (1972)
Filliâtre, J.C., Marché, C.: Multi-Prover Verification of C Programs. In: Proceedings of ICFEM’04. Lecture Notes in Computer Science, vol. 3308, pp. 15–29 (2004)
Ganzinger H., Stuber J.: Superposition with equivalence reasoning and delayed clause normal form transformation. Inf. Comput. 199(1–2), 3–23 (2005)
Grundy, J., Melham, T., Krstić, S.: Tool Building Requirements for an API to First-Order Solvers. ENTCS 144 (2006)
Kirchner, H., Ranise, S., Ringeissen, C., Tran, D.K.: On superposition-based satisfiability procedures and their combination. In: Proceedings of the Second International Conference on Theoretical Aspects of Computing (ICTAC’05), Lecture Notes in Computer Science, vol. 3722, pp. 594–608. Springer, Heidelberg (2005)
Kuncak, V., Rinard, M.: An overview of the Jahob analysis system: Project Goals and Current Status. In: NSF Next Generation Software Workshop (2006)
de Moura, L., Ruess, H.: An experimental evaluation of ground decision procedures. In: Proceedings of CAV’04. Lecture Notes in Computer Science, vol. 3114 (2004)
Nelson G., Oppen D.C.: Fast decision procedures based on congruence closure. J. ACM 27(2), 356–364 (1980)
Nonnengart, A., Weidenbach, C.: Computing small clause normal forms. In: Handbook of Automated Reasoning. Elsevier, Amsterdam (2001)
Reif, W., Schellhorn, G.: Automated deduction—a basis for applications, vol. 1. In: Theorem Proving in Large Theories. Kluwer, Dordrecht (1998)
Schulz, S.: E—a brainiac theorem prover. AI Communications (2002)
Sebastiani R.: Lazy satisfiability modulo theories. J. Satisf. Boolean Modeling Comput. 3, 141–224 (2007)
The SMT-Library Initiative. http://www.smt-lib.org
Weidenbach, C.: Combining superposition, sorts and splitting. In: Robinson, A., Voronkov, A. (eds.) Hand. of Automated Reasoning (2001)
Author information
Authors and Affiliations
Corresponding author
Additional information
This work has been done while D. Déharbe was at LORIA-INRIA-Lorraine (Nancy, France) and has been partially funded by CNPq and the French project ARROWS supported by the Agence Nationale de la Recherche.
Rights and permissions
About this article
Cite this article
Déharbe, D., Ranise, S. Satisfiability solving for software verification. Int J Softw Tools Technol Transfer 11, 255–260 (2009). https://doi.org/10.1007/s10009-009-0105-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-009-0105-6