Preliminary Measurements in Identifying Design Flaws

  • Camelia Șerban Department of Computer Science, Faculty of Mathematics and Computer Science, Babeș-Bolyai University, Cluj-Napoca, Romania
  • Andreea Vescan Department of Computer Science, Faculty of Mathematics and Computer Science, Babeș-Bolyai University, Cluj-Napoca, Romania
  • Horia F. Pop Department of Computer Science, Faculty of Mathematics and Computer Science, Babeș-Bolyai University, Cluj-Napoca, Romania

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

[1] R. Marinescu. Measurement and quality in object-oriented design, Ph.D. thesis, Faculty of Automatics and Computer Science, Politehnica University of Timisoara, 2003.
[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.
Published
2017-05-28
How to Cite
ȘERBAN, Camelia; VESCAN, Andreea; POP, Horia F.. Preliminary Measurements in Identifying Design Flaws. Studia Universitatis Babeș-Bolyai Informatica, [S.l.], v. 62, n. 1, p. 60-74, may 2017. ISSN 2065-9601. Available at: <http://www.cs.ubbcluj.ro/~studia-i/journal/journal/article/view/6>. Date accessed: 29 nov. 2020. doi: https://doi.org/10.24193/subbi.2017.1.05.
Section
Articles