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 条
  • [31] Unit Testing in Java']Java
    Proulx, Viera K.
    Jossey, Weston
    ITICSE 2009: PROCEEDING OF THE 2009 ACM SIGSE ANNUAL CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2009, : 349 - 349
  • [32] Use of local memory for efficient Java']Java execution
    Tomar, S
    Kim, S
    Vijaykrishnan, N
    Kandemir, M
    Irwin, MJ
    2001 INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, ICCD 2001, PROCEEDINGS, 2001, : 468 - 473
  • [33] Java']Java GUI testing
    Walworth, A
    DR DOBBS JOURNAL, 1997, 22 (02): : 30 - +
  • [34] Testing Java']Java servlets
    DiMaggio, L
    DR DOBBS JOURNAL, 2004, 29 (08): : 26 - +
  • [35] EDSKETCH: Execution-Driven Sketching for Java']Java
    Hua, Jinru
    Khurshid, Sarfraz
    SPIN'17: PROCEEDINGS OF THE 24TH ACM SIGSOFT INTERNATIONAL SPIN SYMPOSIUM ON MODEL CHECKING OF SOFTWARE, 2017, : 162 - 171
  • [36] A Method Specialisation and Virtualised Execution Environment for Java']Java
    Cheadle, A. M.
    Field, A. J.
    Nystroem-Persson, J.
    VEE'08: PROCEEDINGS OF THE FOURTH INTERNATIONAL CONFERENCE ON VIRTUAL EXECUTION ENVIRONMENTS, 2008, : 51 - 60
  • [37] A distributed execution environment for shared Java']Java objects
    Erdogan, N
    Selcuk, YE
    Sahingoz, O
    INFORMATION AND SOFTWARE TECHNOLOGY, 2004, 46 (07) : 445 - 455
  • [38] EDSKETCH: execution-driven sketching for Java']Java
    Hua, Jinru
    Zhang, Yushan
    Zhang, Yuqun
    Khurshid, Sarfraz
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2019, 21 (03) : 249 - 265
  • [39] A JAVA']JAVA TASK EXECUTION MANAGER FOR COMMODITY GRIDS
    Yousouf, Shenol
    Kirchev, Lazar
    Georgiev, Vasil
    GRID AND SERVICES EVOLUTION, 2009, : 1 - 16
  • [40] Serialization of distributed execution-state in Java']Java
    Weyns, D
    Truyen, E
    Verbaeten, P
    OBJECTS, COMPONENTS, ARCHITECTURES, SERVICES, AND APPLICATIONS FOR A NETWORKED WORLD, 2003, 2591 : 41 - 61