• DocumentCode
    754733
  • Title

    A Survey of Automated Techniques for Formal Software Verification

  • Author

    Silva, Vijay D. ; Kroening, Daniel ; Weissenbacher, Georg

  • Author_Institution
    Comput. Lab., Univ. of Oxford, Oxford
  • Volume
    27
  • Issue
    7
  • fYear
    2008
  • fDate
    7/1/2008 12:00:00 AM
  • Firstpage
    1165
  • Lastpage
    1178
  • Abstract
    The quality and the correctness of software are often the greatest concern in electronic systems. Formal verification tools can provide a guarantee that a design is free of specific flaws. This paper surveys algorithms that perform automatic static analysis of software to detect programming errors or prove their absence. The three techniques considered are static analysis with abstract domains, model checking, and bounded model checking. A short tutorial on these techniques is provided, highlighting their differences when applied to practical problems. This paper also surveys tools implementing these techniques and describes their merits and shortcomings.
  • Keywords
    electronic engineering computing; program diagnostics; program verification; abstract domains; automated techniques; automatic static analysis; bounded model checking; electronic systems; formal software verification; formal verification tools; programming error detection; Algorithm design and analysis; Automatic programming; Automatic testing; Formal verification; Hardware; Performance analysis; Software algorithms; Software performance; Software quality; Software systems; Bounded model checking (BMC); model checking; predicate abstraction; software verification; static analysis;
  • fLanguage
    English
  • Journal_Title
    Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0278-0070
  • Type

    jour

  • DOI
    10.1109/TCAD.2008.923410
  • Filename
    4544862