Pakistan Research Repository Home

Title of Thesis

Automated Testing of Object Oriented Systems using VDM++ and UML Communication Diagrams

Author (s)
Aamer Nadeem
Institute/University/Department Details
Mohammad Ali Jinnah University, Karachi
Computer Science
Number of Pages
Keywords (Extracted from title, table of contents and abstract of thesis)
critical systems,


The rapidly growing applications of software in critical systems such as railways, aviation, automobiles, and medicine, demand a much higher level of reliability and error free operation. The use of formal methods in such applications not only helps avoid specification errors, ambiguities, and inconsistencies in early phases of software life cycle, but also provides a sound basis for generation of an effective set of test cases. However, the existing research on formal specification based testing has focused on unit level testing only. This research is aimed at automating the generation of class level as well as integration level test cases for an object-oriented system using formal specifications. We use VDM++ formal specification language for this purpose. As a result of our research, we present a framework, called SpecTGS, that automatically generates specification based test cases for object-oriented systems using VDM++ as the specification language. For class testing, the SpecTGS uses the trace structure definition of a VDM++ class specification to derive allowable method call sequences, and partition analysis to generate test data. For integration testing, we have proposed a novel idea that extracts testing information from the VDM++ specification and UML communication diagrams. The SpecTGS derives message sequences from a UML communication diagram, and uses the VDM++ specification to construct state invariants for the states in which a class can receive a message. A new strategy for constructing sub-states from a state invariant called partitioned boundary state coverage that combines two existing strategies, i.e. partition analysis strategy and the boundary state coverage strategy. Each message sequence generated from the UML communication diagrams is combined with the sub-states to construct a test model. The test model is then used to derive the test paths under various coverage criteria. A proof-of-concept tool has been developed to implement and evaluate the SpecTGS framework. The results for the integration testing approach have been shown for a real-life case study selected from the literature.




952 KB

S. No. Chapter Title of the Chapters Page Size (KB)
1 1 Introduction 15
34 KB
2 2 Background 21
  2.1 Specification Based Testing 23

48 KB


  2.2 VDM++ Specification Language 26
  2.3 Unified Modeling Language 29
3 3 Formal Specification Based Testing Techniques 31
  3.1 Evaluation Criteria 31
  3.2 The Testing Techniques Surveyed 33

84 KB

  3.3 Conclusion 48
4 4 UML Based Integration Testing Techniques 50
311 KB








334 KB

  4.1 Abdurazik & Offutt, 2000 51
  4.2 Basanieri & Bertolino, 2000 52
  4.3 Basanieri, Bertolino and Marchetti, 2001 52
  4.4 Pilskalns, Andrews, France & Ghosh, 2003 53
  4.5 Fraikin & Leonhardt, 2002 54
  4.6 Wittevrongel & Maurer, 2001 54
5 5 The SpecTGS Framework 59
  5.1 Class Testing 59
  5.2 Setting the Object State 76
  5.3 Test Driver 79
  5.4 Inheritance and Polymorphic Testing 80
6 6 Integration Testing with SpecTGS 89
  6.1 The Proposed Approach 91
  6.2 Generating Message Sequences 93
  6.3 Constructing State Invariants 98
  6.4 Constructing the Test Model 107



336 KB

19 KB


  6.5 Constructing the Test Model 108
  6.6 Discussion 114
7 7 SpecTGS Implementation and Evaluation 116
  7.1 Implementation 116
8 8 Conclusion and Future Work 131