Testing Java']Java monitors through deterministic execution

被引:6
|
作者
Harvey, C [1 ]
Strooper, P [1 ]
机构
[1] Univ Queensland, Sch Comp Sci & Elect Engn, Software Verificat Res Ctr, Brisbane, Qld 4072, Australia
关键词
D O I
10.1109/ASWEC.2001.948498
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Java is a popular modern programming language that supports monitors. However, monitor implementations, like other concurrent programs, are hard to test due to the inherent non-determinism. This paper presents a method for testing Java monitors, which extends the work of Brinch Hansen on testing Concurrent Pascal monitors. A monitor is tested by executing a concurrent program in which the processes are synchronised by a clock to make the sequence of interactions deterministic and reproducible. The method is extended to account for the differences between Concurrent Pascal monitors and Java monitors, and to provide additional coverage of the implementation under test. Tool support and documentation in the form of a test plan are also provided. The method is illustrated in detail on an asymmetric producer-consumer monitor which is the same example that was used to illustrate the original method. The application of the method to the readers and writers problem is also discussed.
引用
收藏
页码:61 / 67
页数:7
相关论文
共 50 条
  • [1] Optimized execution of deterministic blocks in Java']Java PathFinder
    d'Amorim, Marcelo
    Sobeih, Ahmed
    Marinov, Darko
    FORMAL METHODS AND SOFTWARE ENGINEERING, PROCEEDINGS, 2006, 4260 : 549 - +
  • [2] Deterministic execution of Java']Java's primitive bytecode operations
    Siebert, F
    Walter, A
    USENIX ASSOCIATION PROCEEDINGS JAVA(TM) VIRTUAL MACHINE RESEARCH AND TECHNOLOGY SYMPOSIUM, 2001, : 141 - 152
  • [3] Optimized execution of deterministic blocks in java PathFinder
    Department of Computer Science, University of Illinois at Urbana-Champaign, 201 N. Goodwin Ave., Urbana, IL 61801, United States
    Lect. Notes Comput. Sci., 2006, (549-567):
  • [4] A state exploration-based approach to testing Java']Java monitors
    Lei, Yu
    Carver, Richard
    Kung, David
    Gupta, Vidur
    Hernandez, Monica
    ISSRE 2006:17TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2006, : 256 - +
  • [5] Java']Java threads and monitors
    Momen-Pour, S
    Wagner, A
    INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, PROCEEDINGS, 1999, : 2059 - 2065
  • [6] Derivation of Java']Java monitors
    Dongol, Brijesh
    2006 Australian Software Engineering Conference, Proceedings, 2006, : 211 - 220
  • [7] Efficient Java']Java™ monitors
    Blomdell, A
    FOURTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2001, : 270 - 276
  • [8] Deterministic execution of Java's primitive bytecode operations
    IPD, Universität Karlsruhe, Am Fasanengarten 5, Karlsruhe
    76128, Germany
    不详
    76131, Germany
    Proc. Java Virtual Mach. Res. Technol. Symp., JVM, 1600,
  • [9] A Java']Java Execution Simulator
    Robbins, Steven
    SIGCSE 2007: PROCEEDINGS OF THE THIRTY-EIGHTH SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2007, : 536 - 540
  • [10] Reverse execution of Java']Java bytecode
    Cook, JJ
    COMPUTER JOURNAL, 2002, 45 (06): : 608 - 619