Preliminary Measurements in Identifying Design Flaws
Abstract
Software metrics are of great importance in object-oriented design assessment. They quantify various aspects of design entities and play an important role in predicting design quality. Despite the fact that software metrics have become increasingly useful, they raise several issues. Among them, relevant to our research are the issue of setting threshold values and the problem of measurement results interpretation. Fuzzy clustering analysis is used to overcome the limitations of the existing approaches that are using threshold values for metrics and to provide a better interpretation of the obtained measurement results. This paper focuses on metrics-based design flaw detection in object-oriented design. A new metric, Design Flaw Entropy which measures the distribution of design flaws into the analyzed system is introduced. To validate the proposed approach, a case study was also proposed.
References
[2] S. Mazeiar, Li. Shimin, and T. Ladan. A Metric-Based Heuristic Framework to Detect Object-Oriented Design Flaws Proceedings of the 14th IEEE International Conference on Program Comprehension (ICPC06), 2006.
[3] P.F. Mihancea, and R. Marinescu. Towards the optimization of automatic detection of design flaws in object-oriented software systems, In Proc. of the 9th European Conf. on Software Maintenance and Reengineering, 92-101, 2005.
[4] L. Tahvildari, and K. Kontogiannis. Improving design quality using meta-pattern transformations: A metric-based approach, Journal of Software Maintenance and Evolution: Research and Practice, 16, 331-361, 2004.
[5] A.J. Riel. Object-Oriented Design Heuristics, Addison-Wesley, 1996.
[6] S. Chidamber, and C. Kemerer. A metric suite for object-oriented design, IEEE Transactions on Software Engineering, 20(6), 476–493, 1994.
[7] J.M. Bieman, and B.K. Kang. Cohesion and Reuse in an Object-Oriented System, ACM Symposium on Software Reusability, 1995.
[8] M. O’Keeffe, and M. ´ O. Cinn´ eide. Search-based refactoring: an empirical study, Journal of Software Maintenance and Evolution: Research and Practice, 20, 345–364, 2008.
[9] A. Chatzigeorgiou, and G. Stephanides. Entropy as a Measure of Object-Oriented Design Quality, 1st Balkan Conference on Informatics (BCI’2003), 21–23, 2003.
[10] C. Serban. A Conceptual Framework for Object-oriented Design Assessment. Computer Modeling and Simulation, UKSim Fourth European Modelling Symposium on Computer Modelling and Simulation, 90–95, 2010.
[11] D. Dumitrescu. Hierarchical pattern classification, Fuzzy Sets and Systems 28, 145–162, 1988.
[12] M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999.
[13] Open source project: log4net, http://logging.apache.org/log4net.
[14] R. Martin. Design Principles and Patterns: http://www.objectmentor.com/resources/articles/Principles and Patterns.pdf, 2006.
[15] N. Fenton. Software measurement: A necessary scientific base, IEEE Transactions on Softw. Engineering, 20(3), 1994.
[16] J. Han, and M. Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann Publishers, (2001).
[17] A. Jain, and R. Dubes. Algorithms for Clustering Data. Prentice Hall, Englewood Cliffs, New Jersey, 1998.
[18] A. Jain, M.N. Murty, and P. Flynn. Data clustering: A review. ACM Computing Surveys, 31(3):264–323, (1999).
[19] J. Bansiyav, C. Davis, L. Etzkorn. An entropy-based complexity measure for object-oriented designs. Theory an Practice of Object Systems. 5(2):111–118, 1999.
[20] L. Etzkorn, S. Gholston, and W.E. Hughes. A semantic entropy metric. Journal of Software Maintenance: Research and Practice. 14(4):293–310, 2002.
[21] A. Marcus, M. Boxall, and S. Araban. Interface Metrics for Reusability Analysis of Components. Proceedings of the 2004 Australian Software Engineering Conference (ASWEC’04), 2004.
[22] K. Kim, Y. Shin, and C. Wu. Complexity Measures for Object-Oriented Program Based on the Entropy. In Proceedings of the Second Asia Pacific Software Engineering Conference, 1995.
[23] C.E. Shannon, and W. Weaver. The Mathematical Theory of Communication. Urbana, IL, University of Illinois Press, 1949.
[24] I. Turnu, G. Concas, M. Marchesi, and R. Tonelli. Entropy of some CK metrics to Assess Object-Oriented Software Quality. International Journal of Software Engineering and Knowledge Engineering, 23(3), 2013.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
When the article is accepted for publication, I, as the author and representative of the coauthors, hereby agree to transfer to Studia Universitatis Babes-Bolyai, Series Informatica, all rights, including those pertaining to electronic forms and transmissions, under existing copyright laws, except for the following, which the author specifically retain: the right to make further copies of all or part of the published article for my use in classroom teaching; the right to reuse all or part of this material in a review or in a textbook of which I am the author; the right to make copies of the published work for internal distribution within the institution that employs me.