Delta execution for efficient state-space exploration of object-oriented programs

被引:12
|
作者
d'Amorim, Marcelo [1 ]
Lauterburg, Steven [2 ]
Marinov, Darko [2 ]
机构
[1] Univ Fed Pernambuco, Ctr Informat, BR-50732970 Recife, PE, Brazil
[2] Univ Illinois, Dept Comp Sci, Urbana, IL 61801 USA
关键词
software/program verification; model checking; testing and debugging; performance; Delta Execution;
D O I
10.1109/TSE.2008.37
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present Delta Execution, a technique that speeds up state-space exploration of object-oriented programs. State-space exploration is the essence of model checking and an increasingly popular approach for automating test generation. A key issue in exploration of object-oriented programs is handling the program state, in particular, the heap. We exploit the fact that many execution paths in state-space exploration partially overlap. Delta Execution simultaneously operates on several states/heaps and shares the common parts across the executions, separately executing only the "deltas" where the executions differ. We implemented Delta Execution in two model checkers: JPF, a popular general-purpose model checker for Java programs, and BOX, a specialized model checker that we developed for efficient exploration of sequential Java programs. The results of bounded-exhaustive exploration of 10 basic subject programs and one larger case study show that Delta Execution reduces exploration time from 1.06x to 126.80x (with median 5.60x) in JPF and from 0.58x to 4.16x (with median 2.23x) in BOX. The results of nonexhaustive exploration in JPF show that Delta Execution reduces exploration time from 0.92x to 6.28x (with median 4.52x).
引用
收藏
页码:597 / 613
页数:17
相关论文
共 50 条
  • [21] A DIAGRAM FOR OBJECT-ORIENTED PROGRAMS
    CUNNINGHAM, W
    BECK, K
    SIGPLAN NOTICES, 1986, 21 (11): : 361 - 367
  • [22] Recursion in object-oriented programs
    Blaschek, Gunther
    Frohlich, Joachim Hans
    JOOP - Journal of Object-Oriented Programming, 1998, 11 (07): : 28 - 35
  • [23] An efficient method for detecting concurrency errors in object-oriented programs
    HE YanXiang 1
    2 State Key Laboratory of Software Engineering
    ScienceChina(InformationSciences), 2012, 55 (12) : 2774 - 2784
  • [24] Efficient and precise datarace detection for multithreaded object-oriented programs
    Choi, JD
    Lee, KW
    Loginov, A
    O'Callahan, R
    Sarkar, V
    Sridharan, M
    ACM SIGPLAN NOTICES, 2002, 37 (05) : 258 - 269
  • [25] An efficient method for detecting concurrency errors in object-oriented programs
    He YanXiang
    Wu Wei
    Chen Yong
    SCIENCE CHINA-INFORMATION SCIENCES, 2012, 55 (12) : 2774 - 2784
  • [26] An efficient method for detecting concurrency errors in object-oriented programs
    YanXiang He
    Wei Wu
    Yong Chen
    Science China Information Sciences, 2012, 55 : 2774 - 2784
  • [27] Incremental State-Space Exploration for Programs with Dynamically Allocated Data
    Lauterburg, Steven
    Sobeih, Ahmed
    Marinov, Darko
    Viswanathan, Mahesh
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 291 - 300
  • [28] AN EXECUTION MODEL FOR DISTRIBUTED OBJECT-ORIENTED COMPUTATION
    BENSLEY, EH
    BRANDO, TJ
    PRELLE, MJ
    SIGPLAN NOTICES, 1988, 23 (11): : 316 - 322
  • [29] Using structure-based measurements for predicting execution times of object-oriented programs
    German Natl Research Cent for, Information Technology , St. Augustin, Germany
    Int J Parall Distrib Syst Networks, 3 (118-125):
  • [30] Apportioning: A technique for efficient reachability analysis of concurrent object-oriented programs
    Iyer, S
    Ramesh, S
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2001, 27 (11) : 1037 - 1056