Evaluating the effectiveness of slicing for model reduction of concurrent object-oriented programs

被引:0
作者
Dwyer, Matthew B. [1 ]
Hatcliff, John
Hoosier, Matthew
Robby, Venkatesh Ranganath
Wallentine, Todd
机构
[1] Univ Nebraska, Lincoln, NE 68588 USA
[2] Kansas State Univ, Manhattan, KS 66506 USA
来源
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS | 2006年 / 3920卷
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Model checking techniques have proven effective for checking a number of non-trivial concurrent object-oriented software systems. However, due to the high computational and memory costs, a variety of model reduction techniques are needed to overcome current limitations on applicability and scalability. Conventional wisdom holds that static program slicing can be an effective model reduction technique, yet anecdotal evidence is mixed, and there has been no work that has systematically studied the costs/benefits of slicing for model reduction in the context of model checking source code for realistic systems. In this paper, we present an overview of the sophisticated Indus program slicer that is capable of handling full Java and is readily applicable to interesting off-the-shelf concurrent Java programs. Using the Indus program slicer as part of the next generation of the Bandera model checking framework, we experimentally demonstrate significant benefits from using slicing as a fully automatic model reduction technique. Our experimental results consider a number of Java systems with varying structural properties, the effects of combining slicing with other well-known model reduction techniques such as partial order reductions, and the effects of slicing for different classes of properties. Our conclusions are that slicing concurrent object-oriented source code provides significant reductions that are orthogonal to a number of other reduction techniques, and that slicing should always be applied due to its automation and low computational costs.
引用
收藏
页码:73 / 89
页数:17
相关论文
共 37 条
  • [1] Andrews GR., 1991, Concurrent Programming: Principles and Practice
  • [2] [Anonymous], 1996, LECT NOTES COMPUTER
  • [3] BALL T, 2001, PROGRAMMING LANGUAGE, P203, DOI DOI 10.1145/378795.378846
  • [4] BOZGA M, 2000, LNCS, V1855, P543
  • [5] BRAT G, 2000, P WORKSH ADV VER JUL
  • [6] CLARKE E, 1999, P CHARME 99 SEPT
  • [7] Clarke E.M., 1981, LECT NOTES COMPUTER, P52, DOI [10.1007/BFb0025774, DOI 10.1007/BFB0025774, 10.1137/0201010]
  • [8] CORBETT J, 2002, INT J SOFTWARE TOOLS
  • [9] CORBETT JC, 2000, P 22 INT C SOFTW ENG
  • [10] Do H, 2004, 2004 INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING, PROCEEDINGS, P60