Viewpoint-Based Testing of Concurrent Components

The use of multiple partial viewpoints is recommended for specification. We believe they also can be useful for devising strategies for testing. In this paper, we use Object-Z to formally specify concurrent Java components from viewpoints based on the separation of application and synchronisation concerns inherent in Java monitors. We then use the Test-Template Framework on the Object-Z viewpoints to devise a strategy for testing the components. When combining the test templates for the different viewpoints we focus on the observable behaviour of the application to systematically derive a practical testing strategy. The Producer-Consumer and Readers-Writers problems are considered as case studies.

[1]  Howard Bowman,et al.  A Formal Framework for Viewpoint Consistency (full version) , 1999 .

[2]  Paul A. Strooper,et al.  A classification of concurrency failures in Java components , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[3]  Leesa Murray,et al.  Extending test templates with inheritance , 1997, Proceedings of Australian Software Engineering Conference ASWEC 97.

[4]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[5]  Brad Long,et al.  Modelling Java concurrency with Object-Z , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[6]  Fausto Giunchiglia,et al.  NUSMV: a new symbolic model checker , 2000, International Journal on Software Tools for Technology Transfer.

[7]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[8]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[9]  David A. Carrington,et al.  A Framework for Specification-Based Testing , 1996, IEEE Trans. Software Eng..

[10]  Bernhard K. Aichernig Test-Case Calculation through Abstraction , 2001, FME.

[11]  Vangalur S. Alagar,et al.  A rigorous method for test templates generation from object‐oriented specifications , 2001, Softw. Test. Verification Reliab..

[12]  Daniel Jackson,et al.  Structuring Z specifications with views , 1995, TSEM.

[13]  Gregory R. Andrews,et al.  Concurrent programming - principles and practice , 1991 .

[14]  Daniel Hoffman,et al.  Tool Support for Testing Concurrent Java Components , 2003, IEEE Trans. Software Eng..

[15]  Ian MacColl,et al.  Specification-Based Testing of Interactive Systems , 1997, INTERACT.

[16]  Ian MacColl,et al.  Testing Matis: a Case Study on Speciication-based Testing of Interactive Systems , 1998 .

[17]  Marius C. Bujorianu,et al.  Towards a formalization of viewpoints testing , 2002 .

[18]  Paul Strooper,et al.  From Object‐Z specifications to ClassBench test suites , 2000 .

[19]  Roger Duke,et al.  Formal Object Oriented Specification Using Object-Z , 2000 .