• DocumentCode
    753027
  • Title

    Formal Program Verification Using Symbolic Execution

  • Author

    Dannenberg, Roger B. ; Ernst, George W.

  • Author_Institution
    Department of Computer Science, Carnegie-Mellon University
  • Issue
    1
  • fYear
    1982
  • Firstpage
    43
  • Lastpage
    52
  • Abstract
    Symbolic execution provides a mechanism for formally proving programs correct. A notation is introduced which allows a concise presentation of rules of inference based on symbolic execution. Using this notation, rules of inference are developed to handle a number of language features, including loops and procedures with multiple exits. An attribute grammar is used to formally describe symbolic expression evaluation, and the treatment of function calls with side effects is shown to be straightforward. Because symbolic execution is related to program interpretation, it is an easy-to-comprehend, yet powerful technique. The rules of inference are useful in expressing the semantics of a language and form the basis of a mechanical verification condition generator.
  • Keywords
    Control constructs; program proving; program verification; rules of inference; side effects; symbolic execution; verification conditions; Calculus; Computer languages; Computer science; Logic; Control constructs; program proving; program verification; rules of inference; side effects; symbolic execution; verification conditions;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.1982.234773
  • Filename
    1702904