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 条
  • [31] Software model checking for Internet Protocols with Java']Java Pathfinder
    Martinez, Jesss
    Jimenez, Cristobal
    MSVVEIS 2008: MODELLING, SIMULATION, VERIFICATION AND VALIDATION OF ENTERPRISE INFORMATION SYSTEMS, 2008, : 91 - 100
  • [32] Model Checking of Concurrent Algorithms: From Java']Java to C
    Artho, Cyrille
    Hagiya, Masami
    Leungwattanakit, Watcharin
    Tanabe, Yoshinori
    Yamamoto, Mitsuharu
    DISTRIBUTED, PARALLEL AND BIOLOGICALLY INSPIRED SYSTEMS, 2010, 329 : 90 - +
  • [33] Towards Model Checking of Computer Games with Java']Java PathFinder
    Shafiei, Nastaran
    van Breugel, Franck
    2013 3RD INTERNATIONAL WORKSHOP ON GAMES AND SOFTWARE ENGINEERING: ENGINEERING COMPUTER GAMES TO ENABLE POSITIVE, PROGRESSIVE CHANGE (GAS), 2013, : 15 - 21
  • [34] A local approach for temporal model checking of Java']Java bytecode
    Santone, A
    Vaglini, G
    JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 2005, 70 (02) : 258 - 281
  • [35] Model checking real time Java using Java PathFinder
    Lindstrom, Gary
    Mehlitz, Peter C.
    Visser, Willem
    Lect. Notes Comput. Sci., (444-456):
  • [36] Model generation for distributed Java']Java programs
    Boulifa, R
    Madelaine, E
    SCIENTIFIC ENGINEERING OF DISTRIBUTED JAVA APPLICATIONS, 2004, 2952 : 139 - 152
  • [37] A Type Graph Model for Java']Java Programs
    Rensink, Arend
    Zambon, Eduardo
    FORMAL TECHNIQUES FOR DISTRIBUTED SYSTEMS, PROCEEDINGS, 2009, 5522 : 237 - 242
  • [38] A model for slicing JAVA']JAVA programs hierarchically
    Li, BX
    Fan, XC
    Pang, J
    Zhao, JJ
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2004, 19 (06) : 848 - 858
  • [39] Heuristics for Designing the Control of a UAV Fleet With Model Checking
    Bohn, Christopher A.
    COOPERATIVE SYSTEMS: CONTROL AND OPTIMIZATION, 2007, 588 : 21 - 36
  • [40] Model checking randomized algorithms with Java PathFinder
    DisCoVeri Group, Department of Computer Science and Engineering, York University, Toronto, Canada
    Proc. - Int. Conf. Quant. Eval. Syst., QEST, (157-158):