Heuristics for model checking Java programs

被引:48
|
作者
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 条
  • [1] Model checking programs with Java']Java PathFinder
    Visser, W
    Mehlitz, P
    [J]. MODEL CHECKING SOFTWARE, PROCEEDINGS, 2005, 3639 : 27 - 27
  • [2] Heuristic model checking for Java']Java programs
    Groce, A
    Visser, W
    [J]. MODEL CHECKING SOFTWARE, PROCEEDINGS, 2002, 2318 : 242 - 245
  • [3] Model checking JAVA programs using JAVA PathFinder
    Havelund K.
    Pressburger T.
    [J]. International Journal on Software Tools for Technology Transfer, 2000, 2 (4) : 366 - 381
  • [4] A JPSL Based Model Checking Approach for Java']Java Programs
    Shu, XinFeng
    Li, YanLin
    Gao, WeiRan
    [J]. STRUCTURED OBJECT-ORIENTED FORMAL LANGUAGE AND METHOD, SOFL+MSVL 2022, 2023, 13854 : 30 - 49
  • [5] Verification of MPI Java']Java Programs using Software Model Checking
    Rehman, Waqas Ur
    Ayub, Muhammad Sohaib
    Siddiqui, Junaid Haroon
    [J]. ACM SIGPLAN NOTICES, 2016, 51 (08) : 413 - 414
  • [6] Using runtime analysis to guide model checking of Java']Java programs
    Havelund, K
    [J]. SPIN MODEL CHECKING AND SOFTWARE VERIFICATON, 2000, 1885 : 245 - 264
  • [7] Model-checking multi-threaded distributed Java']Java programs
    Stoller, SD
    [J]. SPIN MODEL CHECKING AND SOFTWARE VERIFICATON, 2000, 1885 : 224 - 244
  • [8] Platform-Specific Restrictions on Concurrency in Model Checking of Java']Java Programs
    Parizek, Pavel
    Kalibera, Tomas
    [J]. FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, 2009, 5825 : 117 - 132
  • [9] Java']Java model checking
    Park, DYW
    Stern, U
    Skakkebæk, JU
    Dill, DL
    [J]. FIFTEENTH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2000, : 253 - 256
  • [10] Experience Report: Verifying MPI Java']Java Programs using Software Model Checking
    Ayub, Muhammad Sohaib
    Rehman, Waqas Ur
    Siddiqui, Junaid Haroon
    [J]. 2017 IEEE 28TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2017, : 294 - 304