The University of Queensland Homepage
School of ITEE ITEE Main Website

TestCon

Practical Tools and Techniques for the Testing of Concurrent Software Components

"Piglet, I have decided something." "What have you decided, Pooh?" "I have decided to catch a Heffalump." Pooh nodded his head several times as he said this, and waited for Piglet to say "How?" or "Pooh, you couldn't!" or something helpful of that sort, but Piglet said nothing. The fact was Piglet was wishing that he had thought about it first. "I shall do it," said Pooh, after waiting a little longer, "by means of a trap. And it must be a Cunning Trap, so you will have to help me, Piglet." "Pooh," said Piglet, feeling quite happy again now, "I will." And then he said, "How shall we do it?" and Pooh said, "That's just it. How?" And then they sat down together to think it out.

 

Excerpt from "In which Piglet meets a Heffalump", Winnie-The-Pooh,

A. A. Milne., Methuen Children's books, 1972.

 
Contributors:
 
Paul Strooper, Roger Duke, Luke Wildman, Doug Goldson, Brad Long
 
Description:
 

This project will develop tools and techniques for the practical, systematic testing of concurrent software components.

Testing is a major means for ensuring that software performs as expected, but testing concurrent software is poorly understood even though the majority of complex, computer-based systems are concurrent in nature.

The complexities arising from the non-deterministic nature of such software means that testing tools and techniques used for simpler, sequential software are inadequate.

The outcomes of this project will consist of practical techniques for the effective testing of concurrent software components in general and tools for the testing of Java components in particular.

Project Outputs:
  1. Brad Long and Ben Long, "Formal Specification of Java Concurrency to Assist software Verification", Proceedings of the 5th International Workshop on Java for Parallel and Distributed Computing, JAVAPDC, IEEE, 2003.  
  2. Brad Long and Paul Strooper, "A Classification of Concurrency Failures in Java Components", Proceedings of the 1st International Workshop on Parallel and Distributed Systems: Testing and Debugging, PADTAD, IEEE 2003.
  3. Brad Long, Dan Hoffman, Paul Strooper,  "Tool Support for Testing Concurrent Java Components", IEEE Transactions on Software Engineering, Vol 29, No. 6, IEEE,  2003
  4. Roger Duke, Luke Wildman, Brad Long, "Modelling Java Concurrency with Object-Z", FMDS, 2003, IEEE
  5. Luke Wildman, Roger Duke, Paul Strooper "Viewpoint based testing of concurrent components", in Eerke A. Boiten, John Derrick, Graeme Smith (Eds.): Integrated Formal Methods, 4th International Conference, IFM 2004, Canterbury, UK, April 4-7, 2004, Proceedings. Lecture Notes in Computer Science 2999 Springer 2004.
  6. Brad Long, Roger Duke, Doug Goldson, Paul Strooper, Luke Wildman, "Mutation-Based Evaluation of a Method for Verifying Concurrent Java Components",  PADTAD04, 2004.
  7. Luke Wildman, Brad Long and Paul Strooper, "Testing Java Interrupts and Timed Waits", accepted for APSEC 2004.
  8. Soon-Kyeong Kim, Luke Wildman and Roger Duke, "A UML Approach to the Generation of Test Sequences for Java-based Concurrent Systems", accepted  ASWEC2005.
  9. Graeme Smith and Luke Wildman, "Model checking Z specifications using SAL", accepted ZB2005.
  10. Brad Long, "Testing Concurrent Java Components", submitted 2004.
  11. Brad Long, Paul Strooper, and Luke Wildman, "A Method for Verifying Concurrent Java Components", submitted to Concurrency and Computation: Practice and Experience, Wiley, 2005.
  12. Jin Song Dong, Roger Duke, and P Hao, "Integrating Object-Z with Timed Automata", in the 10th IEEE International Conference on Engineering of Complex Computer Systems,  ICECCS'05 pages 488-497, 2005.
  13. Luke Wildman, Brad Long, Paul Strooper, "Dealing with Non-Determinism in Testing Concurrent Java Components" accepted for APSEC 2005

Software:

   The ConAn thread testing tool extends the Roast framework by providing the means to automate the testing of multithreaded java components.  ConAn5.0 requires  roast2.0 as provided below.

Case Study

     The scripts for the Case Study published at APSEC are:

FAC special issue on Integrated Formal Methods

  • SAL models.
  • Technical report.

Presentations.

  ZB05

ASWEC05

Soon's talk

ICSE06 tutorial

Projects  here

 

Internal

Meeting minutes for internal use and internal bibliography.


Luke Wildman
Last modified: Tue March 02 9:30:38 EST 2004