Research on Object-Oriented Design Defect Detection Method Based on Machine Learning
Design defects are one of the main reasons for the decline of software design quality. Effective detection of design defects plays an important role in improving software maintainability and scalability. On the basis of defining software design defects, according to C&K design metrics and heuristics, this paper extracts the relevant features of design defects. Based on classical machine learning methods, classifiers are trained for design defect, and candidate designs are classified by classifiers, so as to identify whether there is a design defect in the design. Experiments show that the method has high accuracy and recall rate in identifying design defects.
KeywordsDesign defect detection Object-oriented metrics Feature extraction Machine learning Classifier
At the end of this paper, I would like to thank the teachers and classmates who have contributed to this paper, and secondly to those who came to help me.
- 2.Brown, W.H., Malveau, R.C.: “Skip” McCormick III HW, Mowbray TJ, Antipatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley Computer Publishing, New York (1998)Google Scholar
- 4.Moha, N.: Detection and correction of design defects in object-oriented designs. In: Companion to the ACM Sigplan Conference on Object-Oriented Programming Systems & Applications Companion. ACM (2007)Google Scholar
- 7.Robert, M.: Design principle and design patterns (2000)Google Scholar
- 10.ISO 9126: Software Product Quality Characteristics. http://www.cse.dcu.ie/essiscope/
- 12.Hitz, M., Montazeri, B.: Measuring coupling and cohesion in object-oriented systems (1995)Google Scholar
- 13.Lorenz, M., Kidd, J.: Object-oriented software metrics: a practical guide. Prentice-Hall Inc, Englewood Cliffs (1994)Google Scholar
- 14.Abreu, F.: MOOD-metrics for object-oriented design. In: Proceedings of Oopsla 94 Workshop Paper Presentation (1994)Google Scholar
- 15.Guéhéneuc, Y.G., Sahraoui, H., Zaidi, F.: Fingerprinting design patterns. In: 11th Working Conference on Reverse Engineering, pp. 172–181. IEEE (2004)Google Scholar
- 16.Shari, L.P.: Software Engineering Theory and Practice (2003)Google Scholar