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 条
  • [41] One solution for execution of Java']JavaScript in Java']Java EE application servers
    Vidakovic, Milan
    Cosic, Stefan
    Cosic, Ognjen
    Kastelan, Ivan
    Velikic, Gordana
    2018 ZOOMING INNOVATION IN CONSUMER TECHNOLOGIES CONFERENCE (ZINC), 2018, : 177 - 180
  • [42] Compiling multithreaded Java']Java bytecode for distributed execution
    Antoniu, G
    Bougé, L
    Hatcher, P
    MacBeth, M
    McGuigan, K
    Namyst, R
    EURO-PAR 2000 PARALLEL PROCESSING, PROCEEDINGS, 2000, 1900 : 1039 - 1052
  • [43] Implementing fast Java']Java™ monitors with relaxed-locks
    Dice, D
    USENIX ASSOCIATION PROCEEDINGS JAVA(TM) VIRTUAL MACHINE RESEARCH AND TECHNOLOGY SYMPOSIUM, 2001, : 79 - 90
  • [44] Programming Deterministic Reactive Systems with Synchronous Java']Java
    Motika, Christian
    von Hanxleden, Reinhard
    Heinold, Mirko
    2013 IEEE 16TH INTERNATIONAL SYMPOSIUM ON OBJECT/COMPONENT/SERVICE-ORIENTED REAL-TIME DISTRIBUTED COMPUTING (ISORC), 2013,
  • [45] A Type and Effect System for Deterministic Parallel Java']Java
    Bocchino, Robert L., Jr.
    Adve, Vikram S.
    Dig, Danny
    Adve, Sarita V.
    Heumann, Stephen
    Komuravelli, Rakesh
    Overbey, Jeffrey
    Simmons, Patrick
    Sung, Hyojin
    Vakilian, Mohsen
    OOPSLA 2009, CONFERENCE PROCEEDINGS, 2009, : 97 - 116
  • [46] A Type and Effect System for Deterministic Parallel Java']Java
    Bocchino, Robert L., Jr.
    Adve, Vikram S.
    Dig, Danny
    Adve, Sarita V.
    Heumann, Stephen
    Komuravelli, Rakesh
    Overbey, Jeffrey
    Simmons, Patrick
    Sung, Hyojin
    Vakilian, Mohsen
    ACM SIGPLAN NOTICES, 2009, 44 (10) : 97 - 116
  • [47] A Deterministic Algorithm for Identifying Direct Superclasses in Java']Java
    Langmaack, Hans
    Salwicki, Andrzej
    Warpechowski, Marek
    FUNDAMENTA INFORMATICAE, 2008, 85 (1-4) : 343 - 357
  • [48] An Automated Testing Tool for Java']Java Application Using Symbolic Execution based Test Case Generation
    Monpratarnchai, Supasit
    Fujiwara, Shoichiro
    Katayama, Asako
    Uehara, Tadahiro
    2013 20TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2013), VOL 2, 2013, : 93 - 98
  • [49] Java']Javalanche: Efficient Mutation Testing for Java']Java
    Schuler, David
    Zeller, Andreas
    7TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2009, : 297 - 298
  • [50] Improving the Testing of Java']Java Garbage Collection Through an Efficient Benchmark Generation
    Portillo-Dominguez, A. Omar
    Ayala-Rivera, Vanessa
    2018 6TH INTERNATIONAL CONFERENCE IN SOFTWARE ENGINEERING RESEARCH AND INNOVATION (CONISOFT 2018), 2018, : 1 - 10