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 条
  • [21] Software Model Checking
    Jhala, Ranjit
    Majumdar, Rupak
    [J]. ACM COMPUTING SURVEYS, 2009, 41 (04)
  • [22] Using software model checking for software component certification
    Taleghani, Ali
    [J]. 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: ICSE 2007 COMPANION VOLUME, PROCEEDINGS, 2007, : 99 - 100
  • [23] Model Checking Specifications of Smart Cards
    Greimel, Karin
    Sessler, Norman
    Klotz, Thomas
    [J]. 39TH ANNUAL CONFERENCE OF THE IEEE INDUSTRIAL ELECTRONICS SOCIETY (IECON 2013), 2013, : 7736 - 7741
  • [24] Model checking linear logic specifications
    Bozzano, M
    DelZanno, G
    Martelli, M
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2004, 4 : 573 - 619
  • [25] Support for Model Checking Z Specifications
    Siregar, Maria Ulfah
    [J]. PROCEEDINGS OF 2016 IEEE 17TH INTERNATIONAL CONFERENCE ON INFORMATION REUSE AND INTEGRATION (IEEE IRI), 2016, : 241 - 248
  • [26] Model checking RAISE applicative specifications
    Perna, Juan I.
    George, Chris
    [J]. FORMAL ASPECTS OF COMPUTING, 2013, 25 (03) : 365 - 388
  • [27] Model checking TLA+ specifications
    Yu, Y
    Manolios, P
    Lamport, L
    [J]. CORRECT HARDWARE DESIGN AND VERIFICATION METHODS, 1999, 1703 : 54 - 66
  • [28] Verifying atomicity specifications for concurrent object-oriented software using model-checking
    Hatcliff, J
    Dwyer, R
    Dwyer, MB
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, PROCEEDINGS, 2004, 2937 : 175 - 190
  • [29] Model checking RAISE applicative specifications
    Perna, Juan Ignacio
    George, Chris
    [J]. SEFM 2007: FIFTH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND FORMAL METHODS, PROCEEDINGS, 2007, : 257 - +
  • [30] Software model checking using linear constraints
    Armando, A
    Castellini, C
    Mantovani, J
    [J]. FORMAL METHODS AND SOFTWARE ENGINEERING, PROCEEDINGS, 2004, 3308 : 209 - 223