Heuristics for model checking Java programs

被引:49
|
作者
Groce A. [1 ]
Visser W. [2 ]
机构
[1] School of Computer Science, Carnegie Mellon University, Pittsburgh, PA
[2] RIACS, NASA Ames Research Center, Moffett Field, CA
关键词
Coverage metrics; Heuristic search; Model checking; Testing;
D O I
10.1007/s10009-003-0130-9
中图分类号
学科分类号
摘要
Model checking of software programs has two goals - the verification of correct software and the discovery of errors in faulty software. Some techniques for dealing with the most crucial problem in model checking, the state space explosion problem, concentrate on the first of these goals. In this paper we present an array of heuristic model checking techniques for combating the state space explosion when searching for errors. Previous work on this topic has mostly focused on property-specific heuristics closely related to particular kinds of errors. We present structural heuristics that attempt to explore the structure (branching structure, thread interdependency structure, abstraction structure) of a program in a manner intended to expose errors efficiently. Experimental results show the utility of this class of heuristics. In contrast to these very general heuristics, we also present very lightweight techniques for introducing program-specific heuristic guidance. © 2004 Springer-Verlag.
引用
收藏
页码:260 / 276
页数:16
相关论文
共 50 条
  • [21] Applying model checking in Java']Java verification
    Havelund, K
    Skakkebæk, JU
    THEORETICAL AND PRACTICAL ASPECTS OF SPIN MODEL CHECKING, 1999, 1680 : 216 - 231
  • [22] Model Checking Programs
    Willem Visser
    Klaus Havelund
    Guillaume Brat
    SeungJoon Park
    Flavio Lerda
    Automated Software Engineering, 2003, 10 (2) : 203 - 232
  • [23] Model checking programs
    Visser, W
    Havelund, K
    Brat, G
    Park, SJ
    FIFTEENTH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2000, : 3 - 11
  • [24] Java']Java Memory Model-Aware Model Checking
    Jin, Huafeng
    Yavuz-Kahveci, Tuba
    Sanders, Beverly A.
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2012, 2012, 7214 : 220 - 236
  • [25] Specifying and checking method call sequences of Java programs
    Yoonsik Cheon
    Ashaveena Perumandla
    Software Quality Journal, 2007, 15 : 7 - 25
  • [26] Probabilistic Model Checking of Randomized Java']Java Code
    Fatmi, Syyeda Zainab
    Chen, Xiang
    Dhamija, Yash
    Wildes, Maeve
    Tang, Qiyi
    van Breugel, Franck
    MODEL CHECKING SOFTWARE (SPIN 2021), 2021, 12864 : 157 - 174
  • [27] Model checking real time Java']Java using Java']Java PathFinder
    Lindstrom, G
    Mehlitz, PC
    Visser, W
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2005, 3707 : 444 - 456
  • [28] Combining Model Learning and Model Checking to Analyze Java']Java Libraries
    Ali, Shahbaz
    Sun, Hailong
    Zhao, Yongwang
    STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD (SOFL+MSVL 2019), 2020, 12028 : 259 - 278
  • [29] Automated Detection of Code Smells Caused by Null Checking Conditions in Java']Java Programs
    Sirikul, Kriangchai
    Soomlek, Chitsutha
    2016 13TH INTERNATIONAL JOINT CONFERENCE ON COMPUTER SCIENCE AND SOFTWARE ENGINEERING (JCSSE), 2016, : 268 - 274
  • [30] Firm Deadline Checking of Safety-Critical Java']Java Applications with Statistical Model Checking
    Ravn, Anders P.
    Thomsen, Bent
    Luckow, Kasper Soe
    Leth, Lone
    Bogholm, Thomas
    MODELS, ALGORITHMS, LOGICS AND TOOLS: ESSAYS DEDICATED TO KIM GULDSTRAND LARSEN ON THE OCCASION OF HIS 60TH BIRTHDAY, 2017, 10460 : 269 - 288