Abstract
Even though object oriented software development has gained popularity due to its inherent features, it also throws challenges in early detection of defects during design phase. Detection of design defects helps in performing appropriate refactorings in improving the quality of design. Literature indicates that active research is going on in detecting design defects using metrics. The present paper introduces a set of metrics for detecting defects in object oriented designs caused by the presence of shotgun surgery and divergent change bad smells. These metrics are, dependency oriented complexity metric for structure (DOCMS(R)), dependen-cy oriented complexity metric for an artifact causing ripples (DOCMA(CR)), and dependency oriented complexity metric for an artifact affected by ripples (DOCMA(AR)). The proposed me-trics have been computed for four cases. These metrics are used successfully in detecting design defects and complexity. In the present study DOCMA(CR) metric value indicated the presence of shotgun surgery bad smell, whereas DOCMA(AR) metric value indicated the presence of divergent change bad smell. DOCMS(R) metric value indicated the increase in complexity of structure (ar-chitecture) when the design defects are present. Detecting bad smells helps in performing appropriate refactorings to make the software maintainable and to improve the quality of software.
- Ladan Tahvildari, Kostas Kontogiannis, "A metric-Based Approach to Enhance Design Quality Through Meta-Pattern Transformations", Proc. of the Seventh IEEE European Conf. on Software Maintenance and Reeng. (CSMR'03), pp. 183--192, 2003. Google ScholarDigital Library
- Tom Mens, Tom Tourwe, "A Survey of Software Refactoring", IEEE Trans. Software Eng., vol.30, no. 2, pp. 126--139, Feb. 2004. Google ScholarDigital Library
- R. Marinescu, "Detection Strategies: Metrics-Based Rules for Detecting Design Flaws", In Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM), pp. 350--359, September 2004. Google ScholarDigital Library
- A. Ananda Rao, D. Janaki Ram, "Software Design Versioning using Propagation Probability Matrix", In Proceedings of Third Int'l Conf. on Computer Applications (ICCA 2005), Yangon, Myanmar, March 2005.Google Scholar
- V.R. Basili, L.C. Briand, and W.I. Melo, "A Validation Of Object Oriented Design Metrics as Quality Indicators", IEEE Trans. Software Eng., vol. 22, no. 10, pp.751--761, October 1996. Google ScholarDigital Library
- Shyam R. Chidamber, Chris F. Kemerer, "A Metrics Suite for Object Oriented Design", IEEE Trans. Software Eng., vol. 20, no. 6, pp. 476--493, June 1994. Google ScholarDigital Library
- Alexander Chatzigeorgiou, Spiros Xanthos, George Stephanides, "Evaluating Object-Oriented Designs with Link Analysis", Proceedings of the 26th IEEE Int'l Conf. on Software Engineering (ICSE '04), pp. 656--665, 2004. Google ScholarDigital Library
- Haider Bilal, Sue Black, "Computing Ripple Effect for Object Oriented Software", Quantitative Approaches in Object Oriented Software Engineering (QAOOSE) Workshop, Nantes, France, July 2006.Google Scholar
- Lionel C. Brand, Jurgen Wust, Hakim Lounis, "Using Coupling Measurement for Impact Analysis in Object-Oriented Systems", Proceedings of the IEEE Int'l Conf. on Software Maintenance (ICSM'99), pp. 475--482, 1999. Google ScholarDigital Library
- Jitender Kumar Chhabra, K.K. Aggarwal, "Measurement of Intra-Class&Inter-Class Weakness for Object-Oriented Software", Proceedings of the Third IEEE International Conference on Information Technology: New Generations (ITNG'06), pp. 155--160, 2006. Google ScholarDigital Library
- S. Srinath, URA: "A Paradigm for Context Sensitive Reuse", A Thesis of Master of Science&Engineering, Indian Institute of Technology, Madras, India, April 1998.Google Scholar
- Martin Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts, "Re-factoring: Improving the Design of Existing Code". Addison- Wesley, NY, 1999. Google ScholarDigital Library
Index Terms
- Dependency oriented complexity metrics to detect rippling related design defects
Recommendations
Detecting Defects in Object Oriented Designs Using Design Metrics
Proceedings of the 2006 conference on Knowledge-Based Software Engineering: Proceedings of the Seventh Joint Conference on Knowledge-Based Software EngineeringIn order to decrease the cost, it is recommended to detect defects in the phase they occur. This paper presents a metrics-based approach to detect defects in OO designs. We first identify a list of OO design defects which have a significant impact on ...
Object Oriented Cohesion Metrics: A Qualitative Empirical Analysis of Runtime Behavior
ACM SE '14: Proceedings of the 2014 ACM Southeast Regional ConferenceSoftware cohesion metrics measure the degree to which a class and its members are interconnected. Cohesion metrics have traditionally been captured statically, rendering useful results, but often times imprecise, as the complete set of source code is ...
Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics
The Object-Oriented (OO) paradigm has become increasingly popular in recent years. Researchers agree that, although maintenance may turn out to be easier for OO systems, it is unlikely that the maintenance burden will completely disappear. One approach ...
Comments