Static analysis of object oriented systems using extended control flow graph

The basic features of object oriented software makes it difficult to apply traditional testing methods like McCabe's Cyclomatic complexity in object oriented systems. The control flow graph used in procedural systems has been extended to be applicable for object oriented systems as ECFG. ECFG is a layered CFG where nodes refer to methods rather than statements. Our work is based on analyzing static characteristics of a system using ECFG. Extended cyclomatic complexity (E-CC) refers to the number of independent execution paths within the software. In this paper we have described different ways in which CFGs of individual methods are connected in an ECFG and E-CC for these different cases are given along with small code examples for substantiating our findings. Finally we have taken an ECFG of a fairly large system and applied these cases to arrive at the E-CC of the system considered as our example.

[1]  Cécile Péraire,et al.  A Theory of Specification-Based Testing for Object-Oriented Software , 1996, EDCC.

[2]  Alfred Strohmeier,et al.  Open Issues in Testing Object-Oriented Software , 1994 .

[3]  Alfred Strohmeier,et al.  The Problematics of Testing Object-Oriented Software , 1970 .

[4]  Jehad Al Dallal,et al.  Anomaly detection in concurrent Java programs using dynamic data flow analysis , 2001, Inf. Softw. Technol..

[5]  Jessica Chen On Using Static Analysis in Distributed System Testing , 2000, EDO.

[6]  José L. Fernández Acceptance Testing of Object Oriented Systems , 1999, Ada-Europe.

[7]  Ramanath Subramanyam,et al.  Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects , 2003, IEEE Trans. Software Eng..

[8]  Ina Schieferdecker,et al.  The Graphical Format of TTCN-3 in the Context of MSC and UML , 2002, SAM.

[9]  Marie-Claude Gaudel,et al.  Testing from Formal Specifications, a Generic Approach , 2001, Ada-Europe.

[10]  Nael B. Abu-Ghazaleh,et al.  Using automatable proof obligations for component-based design checking , 1999, Proceedings ECBS'99. IEEE Conference and Workshop on Engineering of Computer-Based Systems.

[11]  Vijay K. Vaishnavi,et al.  Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics , 2003, IEEE Trans. Software Eng..

[12]  Bev Littlewood,et al.  Evaluating Testing Methods by Delivered Reliability , 1998, IEEE Trans. Software Eng..

[13]  Anita Goel,et al.  Probe Mechanism for Object-Oriented Software Testing , 2003, FASE.

[14]  Betty H. C. Cheng,et al.  Formalizing and Integrating the Dynamic Model for Object-Oriented Modeling , 2002, IEEE Trans. Software Eng..

[15]  Lori L. Pollock,et al.  TATOO: Testing and Analysis Tool for Object- Oriented Software , 2001, TACAS.

[16]  Joachim Wegener,et al.  Evolutionary test environment for automatic structural testing , 2001, Inf. Softw. Technol..

[17]  T. H. Tse,et al.  ROCS: an object-oriented class-level testing system based on the Relevant Observable ContextS technique , 2000, Inf. Softw. Technol..

[18]  Jehad Al Dallal,et al.  Dynamic data flow analysis for Java programs , 2000, Inf. Softw. Technol..

[19]  Bixin Li,et al.  A technique to analyze information-flow in object-oriented programs , 2003, Inf. Softw. Technol..