A survey of automated techniques for formal software verification

被引:170
|
作者
D'Silva, Vijay [1 ]
Kroening, Daniel [1 ]
Weissenbacher, Georg [1 ]
机构
[1] Univ Oxford, Comp Lab, Oxford OX1 2JD, England
关键词
bounded model checking (BMC); model checking; predicate abstraction; software verification; static analysis;
D O I
10.1109/TCAD.2008.923410
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:1165 / 1178
页数:14
相关论文
共 50 条
  • [1] A Survey of Formal Techniques for Hardware/Software Co-Verification
    Liu, Kun
    Kong, Weiqiang
    Hou, Gang
    Fukuda, Akira
    [J]. 2018 7TH INTERNATIONAL CONGRESS ON ADVANCED APPLIED INFORMATICS (IIAI-AAI 2018), 2018, : 125 - 128
  • [2] A survey of techniques for formal verification of combinational circuits
    Jain, J
    Narayan, A
    Fujita, M
    SangiovanniVincentelli, A
    [J]. INTERNATIONAL CONFERENCE ON COMPUTER DESIGN - VLSI IN COMPUTERS AND PROCESSORS, PROCEEDINGS, 1997, : 445 - 454
  • [3] Formal Techniques for Hardware/Software Co-Verification
    Kroening, Daniel
    Srivas, Mandayam
    [J]. 2013 26TH INTERNATIONAL CONFERENCE ON VLSI DESIGN AND 2013 12TH INTERNATIONAL CONFERENCE ON EMBEDDED SYSTEMS (VLSID), 2013, : LVII - LVIII
  • [4] A Survey on Formal Verification and Validation Techniques for Internet of Things
    Krichen, Moez
    [J]. APPLIED SCIENCES-BASEL, 2023, 13 (14):
  • [5] Hardware/Software Formal Co-Verification using Hardware Verification Techniques
    Nguyen, Minh D.
    Kunz, Wolfgang
    [J]. 2012 FOURTH INTERNATIONAL CONFERENCE ON COMMUNICATIONS AND ELECTRONICS (ICCE), 2012, : 465 - 470
  • [6] Model Reduction Techniques for the Formal Verification of Hardware dependent Software
    Ecker, Wolfgang
    Esen, Volkan
    Findenig, Rainer
    Steininger, Thomas
    Velten, Michael
    [J]. 2010 IEEE INTERNATIONAL HIGH LEVEL DESIGN VALIDATION AND TEST WORKSHOP (HLDVT), 2010, : 148 - 153
  • [7] A comparative study of formal verification techniques for software architecture specifications
    Tsai, JJP
    Xu, K
    [J]. ANNALS OF SOFTWARE ENGINEERING, 2000, 10 : 207 - 223
  • [8] Formal modeling and verification of software-defined networks: A survey
    Shukla, Nitin
    Pandey, Mayank
    Srivastava, Shashank
    [J]. INTERNATIONAL JOURNAL OF NETWORK MANAGEMENT, 2019, 29 (05)
  • [9] Formal Specification and Automated Verification of Railway Software with Frama-C
    Prevosto, Virgile
    Burghardt, Jochen
    Gerlach, Jens
    Hartig, Kerstin
    Pohl, Hans
    Voellinger, Kim
    [J]. 2013 11TH IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN), 2013, : 710 - 715
  • [10] Formal verification and software product lines - Using formal verification techniques to verify designs within a product line
    Kishi, Tomoji
    Noda, Natsuko
    [J]. COMMUNICATIONS OF THE ACM, 2006, 49 (12) : 73 - 77