The role of model checking in software engineering

被引:10
作者
Karna, Anil Kumar [1 ]
Chen, Yuting [1 ]
Yu, Haibo [2 ]
Zhong, Hao [1 ]
Zhao, Jianjun [3 ]
机构
[1] Shanghai Jiao Tong Univ, Dept Comp Sci & Engn, Shanghai 200240, Peoples R China
[2] Shanghai Jiao Tong Univ, Sch Software, Shanghai 200240, Peoples R China
[3] Kyushu Univ, Dept Adv Informat Technol, Fukuoka, Fukuoka 8190395, Japan
基金
日本学术振兴会;
关键词
software engineering; model checking; state-explosion; SYMBOLIC EXECUTION; NETWORKED APPLICATIONS; CONSISTENCY CHECKING; DISTRIBUTED SYSTEMS; VERIFICATION; PROGRAMS; TOOL; ABSTRACTION; EFFICIENT; SYMMETRY;
D O I
10.1007/s11704-016-6192-0
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Model checking is a formal verification technique. It takes an exhaustively strategy to check hardware circuits and network protocols against desired properties. Having been developed for more than three decades, model checking is now playing an important role in software engineering for verifying rather complicated software artifacts. This paper surveys the role of model checking in software engineering. In particular, we searched for the related literatures published at reputed conferences, symposiums, workshops, and journals, and took a survey of (1) various model checking techniques that can be adapted to software development and their implementations, and (2) the use of model checking at different stages of a software development life cycle. We observed that model checking is useful for software debugging, constraint solving, and malware detection, and it can help verify different types of software systems, such as object- and aspect-oriented systems, service-oriented applications, web-based applications, and GUI applications including safety- and mission-critical systems. The survey is expected to help human engineers understand the role of model checking in software engineering, and as well decide which model checking technique(s) and/or tool(s) are applicable for developing, analyzing and verifying a practical software system. For researchers, the survey also points out how model checking has been adapted to their research topics on software engineering and its challenges.
引用
收藏
页码:642 / 668
页数:27
相关论文
共 50 条
  • [41] Model Checking Sequential Software Programs Via Mixed Symbolic Analysis
    Yang, Zijiang
    Wang, Chao
    Gupta, Aarti
    Ivancic, Franjo
    ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2009, 14 (01)
  • [42] Actor-based model checking for Software-Defined Networks
    Albert, Elvira
    Gomez-Zamalloa, Miguel
    Isabel, Miguel
    Rubio, Albert
    Sammartino, Matteo
    Silva, Alexandra
    JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2021, 118
  • [43] Incremental bounded model checking for embedded software
    Schrammel, Peter
    Kroening, Daniel
    Brain, Martin
    Martins, Ruben
    Teige, Tino
    Bienmueller, Tom
    FORMAL ASPECTS OF COMPUTING, 2017, 29 (05) : 911 - 931
  • [44] Software model checking is a rich research field
    Valmari, Antti
    International Journal on Software Tools for Technology Transfer, 2009, 11 (01) : 1 - 11
  • [45] Model checking security vulnerabilities in software design
    Li Jinhua
    Li Jing
    2010 6TH INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS NETWORKING AND MOBILE COMPUTING (WICOM), 2010,
  • [46] Identifying Counterexamples Without Variability in Software Product Line Model Checking
    Ding, Ling
    Wan, Hongyan
    Hu, Luokai
    Chen, Yu
    CMC-COMPUTERS MATERIALS & CONTINUA, 2023, 75 (02): : 2655 - 2670
  • [47] Bitwidth reduction via symbolic interval analysis for software model checking
    Zaks, Aleksandr
    Yang, Zijiang
    Shlyakhter, Ilya
    Ivancic, Franjo
    Cadambi, Srihari
    Ganai, Malay K.
    Gupta, Aarti
    Ashar, Pranav
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2008, 27 (08) : 1513 - 1517
  • [48] Abstract modeling formalisms in software model checking
    College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing
    210016, China
    不详
    210037, China
    Jisuanji Yanjiu yu Fazhan, 7 (1580-1603): : 1580 - 1603
  • [49] Interface grammars for modular software model checking
    Hughes, Graham
    Bultan, Tevfik
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2008, 34 (05) : 614 - 632
  • [50] Practical use of model checking in software development
    Myers, K
    Dionne, K
    Cruz, J
    Vijay, V
    Dunlap, S
    Gluch, DP
    IEEE SOUTHEASTCON 2002: PROCEEDINGS, 2002, : 21 - 27