Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

An Analysis of Faulty and Fault-Free C++ Classes Using an Object-Oriented Metrics Suite

  • Conference paper
Innovative Techniques in Instruction Technology, E-learning, E-assessment, and Education

Abstract

In this paper, we analyze a dataset freely provided through the PROMISE repository containing data on object-oriented (OO) class features and associated faults. We used a set of metrics provided with the dataset, based loosely on the Chidamber & Kemerer (C&K) metrics for our analysis; in particular, we compared and contrasted the characteristics of classes containing faults with those containing zero faults as a mechanism for establishing their causes and a hypothesis-based approach was adopted to this end. Several key results emerged from our analysis. Firstly, coupling seems to be a key factor influencing fault-proneness; the likelihood of at least one fault is greater when there is relatively high coupling. Secondly, class size ‘does matter’ - the more methods in a class, the more faults the class tends to contain. Finally, cross-correlation of the five metrics revealed an interesting trait related to inheritance and a previous study into C++ friends.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. D. Advani, Y. Hassoun and S. Counsell. Extracting Refactoring Trends from Open-source Software and a Possible Solution to the ‘Related Refactoring’ Conundrum. Proc. of ACM Symp. on Applied Computing, Dijon, France, April 2006.

    Google Scholar 

  2. V. Basili, L. Briand and W. Melo. A validation of object-oriented design metrics as quality indicators. IEEE Trans. on Software Eng., 22(10), pages 751-761. 1996.

    Article  Google Scholar 

  3. V. Basili and B. Perricone, Software errors and complexity: an empirical investigation, Communications of the ACM, 27(1): 42-52, 1984

    Article  Google Scholar 

  4. L. Briand, J. Daly and J. Wust. A unified framework for coupling measurement in object-oriented systems. IEEE Trans. on Software Eng.. Volume 25(1): 91-121, 1999.

    Article  Google Scholar 

  5. L. Briand, P. Devanbu and W. Melo. An investigation into coupling measures for C++. In Proceedings of the 19th International Conference on Software Engineering (ICSE 97), Boston, USA. Pages 412-421, 1997.

    Google Scholar 

  6. L. Briand, J. Wust, J. Daly and V. Porter, Exploring the relationships between design measures and software quality in object-oriented systems. The Journal of Systems and Software 2000, volume 51, pages 245-273.

    Article  Google Scholar 

  7. S. R. Chidamber and C.F. Kemerer. A metrics suite for object-oriented design. IEEE Transactions on Software Engineering, 20(6): 467-493, 1994.

    Article  Google Scholar 

  8. S. Counsell, E. Mendes and S. Swift, Comprehension of Object-oriented Software Cohesion: the empirical quagmire, Proceedings of the 10th International Workshop on Program Comprehension (IWPC 2002). Paris, France, pages 33-42, 2002.

    Google Scholar 

  9. S. Counsell, J. Crampton and S. Swift. The Interpretation and Utility of Three Object-Oriented Cohesion Metrics. ACM Transactions on Software Engineering and Methodology, 2006.

    Google Scholar 

  10. S. Counsell, P. Newson: Use of friends in C++ software: an empirical investigation. Journal of Systems and Software 53(1): 15-21 (2000).

    Article  Google Scholar 

  11. J. Daly, A. Brooks, J. Miller, M. Roper, M Wood, Evaluating Inheritance Depth on the Maintainability of Object-Oriented Software, Empirical Software Engineering, 1(2), pp109-132, 1996.

    Article  Google Scholar 

  12. K. El Emam, S. Benlarbi, N. Goel, W. Melo, H. Lounis and S Rai, The Optimal Class Size for Object-Oriented Software, IEEE Transactions on Software Engineering, 28(5), pp 494-509, 2002.

    Google Scholar 

  13. K. El Emam, S. Benlarbi, N. Goel and S. Rai, The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics, IEEE Transactions on Software Engineering, 27(7), 630-650, 2001.

    Google Scholar 

  14. N. Fenton and S. Pfleeger, Software Metrics: A Rigorous and Practical Approach, 2nd ed. Boston, Mass.: PWS, 1997.

    Google Scholar 

  15. R. Harrison, S. Counsell and R. Nithi. Experimental assessment of the effect of inheritance on the maintainability of object-oriented systems, Journal of Systems and Software, 52, pages 173—179, 2000.

    Article  Google Scholar 

  16. A. G. Koru and H. Liu, An Investigation of the Effect of Module Size on Defect Prediction Using Static Measures, PROMISE - Predictive Models in Software Engineering Workshop, ICSE 2005, Saint Louis, US.

    Google Scholar 

  17. K-H. Moller and D. Paulish. An Empirical Investigation of Software Fault Distribution. Proc. IEEEFirst International Software Metrics Symposium, Baltimore, Md., May 21–22, 1993, pp.82–90.

    Google Scholar 

  18. http://mdp.ivv.nasa.gov/mdp_glossary.html

  19. The KC1 dataset; The PROMISE Repository of Software Engineering Databases. School of Information Technology and Engineering, University of Ottawa, Canada: http://promise.site.uottawa.ca/SERepository

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer Science+Business Media B.V.

About this paper

Cite this paper

Counsell, S. (2008). An Analysis of Faulty and Fault-Free C++ Classes Using an Object-Oriented Metrics Suite. In: Iskander, M. (eds) Innovative Techniques in Instruction Technology, E-learning, E-assessment, and Education. Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-8739-4_92

Download citation

  • DOI: https://doi.org/10.1007/978-1-4020-8739-4_92

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-1-4020-8738-7

  • Online ISBN: 978-1-4020-8739-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics