Abstract
We review, compare and discuss several approaches for representing programs by logic formulas, such as symbolic model checking, bounded model checking, verification-condition generation, and symbolic-execution-based test generation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Anand, S., Godefroid, P., Tillmann, N.: Demand-Driven Compositional Symbolic Execution. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 367–381. Springer, Heidelberg (2008)
Ball, T., Kupferman, O., Sagiv, M.: Leaping Loops in the Presence of Abstraction. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 491–503. Springer, Heidelberg (2007)
Barnett, M., Leino, K.R.M.: Weakest Precondition of Unstructured Programs. In: Proceedings of PASTE 2005 (Program Analysis For Software Tools and Engineering), pp. 82–87 (2005)
Burch, J., Clarke, E., McMillan, K., Dill, D., Hwang, L.: Symbolic Model Checking: 1020 States and Beyond. In: Proceedings of LICS 1990 (5th Symposium on Logic in Computer Science), Philadelphia, pp. 428–439 (June 1990)
Cadar, C., Engler, D.: Execution Generated Test Cases: How to Make Systems Code Crash Itself. In: Godefroid, P. (ed.) SPIN 2005. LNCS, vol. 3639, pp. 2–23. Springer, Heidelberg (2005)
Clarke, E.M., Biere, A., Raimi, R., Zhu, Y.: Bounded Model Checking Using Satisfiability Solving. Formal Methods in System Design 19(1), 7–34 (2001)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press (1999)
Clarke, E.M., Kroening, D., Yorav, K.: Behavioral Consistency of C and Verilog Programs using Bounded Model Checking. In: Design Automation Conference (DAC), pp. 368–371. ACM (2003)
Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst. (TOPLAS) 13(4), 451–490 (1991)
Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM 18, 453–457 (1975)
Flanagan, C., Leino, K.R.M.: Houdini, an Annotation Assistant for ESC/Java. In: Oliveira, J.N., Zave, P. (eds.) FME 2001. LNCS, vol. 2021, pp. 500–517. Springer, Heidelberg (2001)
Flanagan, C., Leino, K.R.M., Lillibridge, M., Nelson, G., Saxe, J.B., Stata, R.: Extended Static Checking for Java. In: Proceedings of PLDI 2002 (ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation), pp. 234–245 (2002)
Flanagan, C., Saxe, J.B.: Avoiding Exponential Explosion: Generating Compact Verification Conditions. In: Proceedings of POPL 2001 (28th ACM Symposium on Principles of Programming Languages), pp. 193–205 (2001)
Floyd, R.: Assigning Meaning to Programs. In: Mathematical Aspects of Computer Science, pp. 19–32. XIX American Mathematical Society (1967)
Godefroid, P.: Model Checking for Programming Languages using VeriSoft. In: Proceedings of POPL 1997 (24th ACM Symposium on Principles of Programming Languages), Paris, pp. 174–186 (January 1997)
Godefroid, P.: Compositional Dynamic Test Generation. In: Proceedings of POPL 2007 (34th ACM Symposium on Principles of Programming Languages), Nice, pp. 47–54 (January 2007)
Godefroid, P.: Higher-Order Test Generation. In: Proceedings of PLDI 2011 (ACM SIGPLAN 2011 Conference on Programming Language Design and Implementation), San Jose, pp. 258–269 (2011)
Godefroid, P., Klarlund, N., Sen, K.: DART: Directed Automated Random Testing. In: Proceedings of PLDI 2005 (ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation), Chicago, pp. 213–223 (June 2005)
Godefroid, P., Levin, M., Molnar, D.: Active Property Checking. In: Proceedings of EMSOFT 2008 (8th Annual ACM & IEEE Conference on Embedded Software), Atlanta, pp. 207–216. ACM Press (October 2008)
Godefroid, P., Luchaup, D.: Automatic Partial Loop Summarization in Dynamic Test Generation. In: Proceedings of ISSTA 2011 (ACM SIGSOFT International Symposium on Software Testing and Analysis), Toronto, pp. 23–33 (July 2011)
Godefroid, P., Nori, A., Rajamani, S., Tetali, S.: Compositional Must Program Analysis: Unleashing The Power of Alternation. In: Proceedings of POPL 2010 (37th ACM Symposium on Principles of Programming Languages), Madrid, pp. 43–55 (January 2010)
Hoare, C.A.R.: An Axiomatic Approach to Computer Programming. Communications of the ACM 12(10), 576–580 (1969)
King, J.C.: Symbolic Execution and Program Testing. Journal of the ACM 19(7), 385–394 (1976)
Korel, B.: A Dynamic Approach of Test Data Generation. In: IEEE Conference on Software Maintenance, San Diego, pp. 311–317 (November 1990)
Păsăreanu, C.S., Visser, W.: Verification of Java Programs Using Symbolic Execution and Invariant Generation. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 164–181. Springer, Heidelberg (2004)
Sen, K., Marinov, D., Agha, G.: CUTE: A Concolic Unit Testing Engine for C. In: Proceedings of FSE 2005 (13th International Symposium on the Foundations of Software Engineering) (September 2005)
Tillmann, N., de Halleux, J.: Pex–White Box Test Generation for.NET. In: Beckert, B., Hähnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 134–153. Springer, Heidelberg (2008)
Tsitovich, A., Sharygina, N., Wintersteiger, C.M., Kroening, D.: Loop Summarization and Termination Analysis. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 81–95. Springer, Heidelberg (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Godefroid, P., Lahiri, S.K. (2012). From Program to Logic: An Introduction. In: Meyer, B., Nordio, M. (eds) Tools for Practical Software Verification. LASER 2011. Lecture Notes in Computer Science, vol 7682. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35746-6_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-35746-6_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35745-9
Online ISBN: 978-3-642-35746-6
eBook Packages: Computer ScienceComputer Science (R0)