Checking JML specifications using an extensible software model checking framework

被引:6
|
作者
Edwin Robby
Matthew B. Rodríguez
John Dwyer
机构
[1] Kansas State University,Department of Computing and Information Sciences
[2] University of Nebraska-Lincoln,Department of Computer Science and Engineering
关键词
Model Check; Java Program; Java Virtual Machine; Java Modeling Language; Atomic Block;
D O I
10.1007/s10009-005-0218-5
中图分类号
学科分类号
摘要
The use of assertions to express correctness properties of programs is growing in practice. Assertions provide a form of lightweight checkable specification that can be very effective in finding defects in programs and in guiding developers to the cause of a problem. A wide variety of assertion languages and associated validation techniques have been developed, but run-time monitoring is commonly thought to be the only practical solution. In this paper, we describe how specifications written in the Java Modeling Language (JML), a general purpose behavioral specification and assertional language for Java, can be validated using a customized model checker built on top of the Bogor model checking framework. Our experience illustrates the need for customized state-space representations and reduction strategies in model checking frameworks in order to effectively check the kind of strong behavioral specifications that can be written in JML. We discuss the advantages and tradeoffs of model checking relative to other specification validation techniques and present data that suggest that the cost of model checking strong specifications is practical for several real programs.
引用
收藏
页码:280 / 299
页数:19
相关论文
共 50 条
  • [1] Checking strong specifications using an extensible software model checking framework
    Robby
    Rodríguez, E
    Dwyer, MB
    Hatcliff, J
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2004, 2988 : 404 - 420
  • [2] Checking JML specifications with B machines
    Bouquet, F
    Dadeau, F
    Groslambert, J
    [J]. ZB 2005: FORMAL SPECIFICATION AND DEVELOPMENT IN Z AND B, PROCEEDINGS, 2005, 3455 : 434 - 453
  • [3] Model checking large software specifications
    Chan, W
    Anderson, RJ
    Beame, P
    Burns, S
    Modugno, F
    Notkin, D
    Reese, JD
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1998, 24 (07) : 498 - 520
  • [4] JML2B: Checking JML specifications with B machines
    Bouquet, Fabrice
    Dadeau, Frederic
    Groslambert, Julien
    [J]. B 2007: FORMAL SPECIFICATION AND DEVELOPMENT IN B, PROCEEDINGS, 2007, 4355 : 285 - +
  • [5] Building your own software model checker using the Bogor extensible model checking framework
    Dwyer, MB
    Hatcliff, J
    Hoosier, M
    Robby
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2005, 3576 : 148 - 152
  • [6] Partitioned model checking from software specifications
    Feng, Xiushan
    Hu, Alan J.
    Yang, Jin
    [J]. ASP-DAC 2005: PROCEEDINGS OF THE ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE, VOLS 1 AND 2, 2005, : 583 - 587
  • [7] Model checking software requirement specifications using domain reduction abstraction
    Choi, Y
    Heimdahl, M
    [J]. 18TH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 314 - 317
  • [8] On-the-Fly Decomposition of Specifications in Software Model Checking
    Apel, Sven
    Beyer, Dirk
    Mordan, Vitaly
    Mutilin, Vadim
    Stahlbauer, Andreas
    [J]. FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 349 - 361
  • [9] Model checking UML specifications of real time software
    Del Bianco, V
    Lavazza, L
    Mauri, M
    [J]. EIGHTH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS, PROCEEDINGS, 2002, : 203 - 212
  • [10] Model Checking Software with First Order Logic Specifications Using AIG Solvers
    Noureddine, Mohammad A.
    Zaraket, Fadi A.
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2016, 42 (08) : 741 - 763