Skip to main content
Log in

Code Based Analysis for Object-Oriented Systems

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

The basic features of object-oriented software makes it difficult to apply traditional testing methods in object-oriented systems. Control Flow Graph (CFG) is a well-known model used for identification of independent paths in procedural software. This paper highlights the problem of constructing CFG in object-oriented systems and proposes a new model named Extended Control Flow Graph (ECFG) for code based analysis of Object-Oriented (OO) software. ECFG is a layered CFG where nodes refer to methods rather than statements. A new metrics— Extended Cyclomatic Complexity (E-CC) is developed which is analogous to McCabe’s Cyclomatic Complexity (CC) and refers to the number of independent execution paths within the OO software. The different ways in which CFG’s of individual methods are connected in an ECFG are presented and formulas for E-CC for these different cases are proposed. Finally we have considered an example in Java and based on its ECFG, applied these cases to arrive at the E-CC of the total system as well as proposed a methodology for calculating the basis set, i.e., the set of independent paths for the OO system that will help in creation of test cases for code testing.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ghezzi C, Jazayeri M, Mandrioli D. Fundamentals of Software Engineering. India: Prentice Hall, 1998.

    Google Scholar 

  2. Marie-Claude Gaudel. Testing from formal specifications, a generic approach. LNCS 2043, Springer-Verlag, May 2001, pp.35–48.

  3. Tse T H, Zhinong Xu. Test case generation for class-level object-oriented testing. In Quality Process Convergence: Proc. 9th Int. Software Quality Week (QW’96), San Francisco, California, 1996, pp.4T4.0–4T4.12.

  4. Tai K C, Lie Y. A test generation strategy for pairwise testing. IEEE TSE, January 2002, 28(1): 109–111.

    Google Scholar 

  5. Richard H Carver, Kuo-Chung Tai. Use of sequencing constraints for specification-based testing of concurrent programs. IEEE TSE, June 1998, 24(6): 471–490.

    Google Scholar 

  6. Murali Rangarajan, Perry Alexander, Nael Abu-Ghazaleh. Using automatable proof obligations for component based design checking. In Proc. IEEE Conf. Workshop on Engineering of Computer-Based Systems, Los Alamitos, USA, March 1999, p.304.

  7. Stephane Barbey, Didier Buchs, Cecile Peraire. A theory of specification based testing for object-oriented software. In Proc. European Dependable Computing Conference (EDCC2), Taormina, Italy, October 1996.

  8. Huo Yan Chen, T H Tse, Yue Tang Deng. ROCS: An object-oriented class-level testing system based on the relevant observable contexts technique. Information and Software Technology, July 2000, 42(10): 677–686.

    Google Scholar 

  9. Betty H C Cheng, Enoch Y Wang. Formalizing and integrating the dynamic model for object-oriented modeling. IEEE Trans. Software and Engineering, August 2002, 28(8): 747–762.

    Article  Google Scholar 

  10. Rajendra K Bandi, Vijay K Vaishnavi, Daniel E Turk. Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans. Software and Engineering, January 2003, 29(1): 77–87.

    Article  Google Scholar 

  11. Ramanath Subramanyam, Krishnan M S. Empirical analysis of CK metrics for object-oriented design complexity: Implications for software defects. IEEE Trans. Software and Engineering, April 2003, 29(4): 297–310.

    Article  Google Scholar 

  12. Aynur Abdurazik, Jeff Offut. Using UML collaboration diagrams for static checking and test generation. LNCS 1939/2000, UML 2000: The Unified Modeling Language Advancing the Standard, January 2000, p.383.

  13. Phyllis G Frankl, Richard G Hamlet, Bev Littlewood, Lorenzo Strigini. Evaluating testing methods by delivered reliability. IEEE Trans. Software and Engineering, August 1998, 24(8): 586–601.

    Article  Google Scholar 

  14. Anita Goel, Gupta S C, Wasan S K. Probe mechanism for object-oriented software testing. In Proc. FASE 2003, 6th Int. Conf., Warsaw, Poland, April 7–11, 2003, pp.310–324.

  15. Amie L Souter, Tiffany M Wong, Stacey A Shindo, Lori L Pollock. TATOO: Testing and analysis tool for object-oriented software. In Proc. the 7th Int. Conf. Tools and Algorithms for the Construction and Analysis of Systems, part of ETAPS, Genova, Italy, April, 2001, pp.389–403.

  16. Jose L Fernandez. Acceptance testing of object-oriented systems. In Proc. Ada-Europe Int. Conf. Reliable Software Technologies, LNCS 1622, 1999, pp.114–123.

  17. Joachim Wegener, Andre Baresel, Harmen Sthamer. Evolutionary test environment for automatic structural testing. Information and Software Technology, 2001, 43(14): 841–854.

    Article  Google Scholar 

  18. Bixin Li. A technique to analyze information-flow in object oriented programs. Information and Software Technology, Apr. 2001, 45(6): 841–854.

    Google Scholar 

  19. Boujarwah A S, Saeh K, Al-Dalla J. Dynamic data flow analysis for Java programs. Information and Software Technology, August 2003, 42(11): 765–775.

    Article  Google Scholar 

  20. Jessica Chen. On using static analysis in distributed system testing. LNCS Vol 1999/2001, Springer-Verlag, ISSN-0302-9743, Jan. 2001, p.145.

  21. Saleh K, Abdel Aziz Boujarwah, Jehad Al-Dallal. Anomaly detection in concurrent Java programs using dynamic data flow analysis. Information and Software Technology, December 2001, 43(15): 973–981.

    Article  Google Scholar 

  22. Schieferdecker I, Jens Grabowski. The graphical format of TTCN-3 in the context of MSC and UML. LNCS, Vol 2599/2003, Springer-Verlag, January 2003, pp.233–252.

  23. Bertolino A, Marre M. Automatic generation of path covers based on the control flow analysis of computer programs. IEEE Trans. Software and Engineering, 1994, 20(12): 885–899.

    Article  Google Scholar 

  24. Saurabh Sinha, Mary Jean Harrold. Analysis and testing of programs with exception handling constructs. IEEE Trans. Software and Engineering, September 2000, 26(9): 849–871.

    Article  Google Scholar 

  25. Matthew J Gallagher, V Lakshmi Narasimhan. ADTEST: A test data generation suite for Ada software systems. IEEE Trans. Software and Engineering, Aug. 1997, 26(9): 473–484.

    Article  Google Scholar 

  26. Pramod V Koppol, Richard H Carver, Kuo-Chung Tai. Incremental integration testing of concurrent programs. IEEE Trans. Software and Engineering, June 2002, 28(6): 607–623.

    Article  Google Scholar 

  27. Michael C C, Mcgraw G, Schatz M A. Generating software test data by evolution. IEEE Trans. Software and Engineering, December 2001, 27(12): 1085–1110.

    Article  Google Scholar 

  28. Narsingh Deo. Graph Theory. India: Prentice Hall, 2003.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Swapan Bhattacharya.

Additional information

This research work has been partially supported by the project entitled “Design and Development of Domain Specific Evolutionary Prototypes” sponsored by All India Council for Technical Education vide Grant No. 8022/RID/NPROJ/RPS-110 of 2003-04.

Swapan Bhattacharya is presently a faculty member in the Department of Computer Science & Engg., Jadavpur University, Kolkata, India. He received his Ph.D. degree in computer science in 1991 from University of Calcutta, India. His areas of research interests are distributed computing and software engineering. He received Young Scientist Award from UNESCO in 1989. As a Sr. Research Associate of National Research Council, USA, he had also served as the coordinator of Ph.D. program in Software Engg. in Naval Postgraduate School, Monterey, CA during 1999–2001. He has published about 100 research papers in various international platforms. He is also actively involved in organizing international conferences on software engineering and distributed computing. He may be reached at bswapan2000@yahoo.co.in.

Ananya Kanjilal is presently a faculty member in the Department of Information Technology, B.P. Poddar Institute of Managmement & Technology affiliated to West Bengal University of Technology, Kolkata, India. She is pursuing Ph.D. degree under the supervision of Professor Swapan Bhattacharya from Jadavpur University, India. Her areas of research interests are Object Oriented Systems and Software Engineering. Her total number of publication in various international platforms is 5. She may be reached at ag_k@rediffmail.com.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bhattacharya, S., Kanjilal, A. Code Based Analysis for Object-Oriented Systems. J Comput Sci Technol 21, 965–972 (2006). https://doi.org/10.1007/s11390-006-0965-0

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-006-0965-0

Keywords

Navigation