Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Detection Strategies: Metrics-Based Rules for Detecting Design Flaws
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Object-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
Journal of Systems and Software
The evolution and impact of code smells: A case study of two open source systems
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
An Exploratory Study of the Impact of Code Smells on Software Change-proneness
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
Building empirical support for automated code smell detection
Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement
Managing technical debt in software-reliant systems
Proceedings of the FSE/SDP workshop on Future of software engineering research
ICSM '10 Proceedings of the 2010 IEEE International Conference on Software Maintenance
A case study on effectively identifying technical debt
Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering
Hi-index | 0.00 |
Technical debt is a metaphor describing situations where developers accept sacrifices in one dimension of development (e.g. software quality) in order to optimize another dimension (e.g. implementing necessary features before a deadline). Approaches, such as code smell detection, have been developed to identify particular kinds of debt, e.g. design debt. What has not yet been understood is the impact design debt has on the quality of a software product. Answering this question is important for understanding how growing debt affects a software product and how it slows down development, e.g. though introducing rework such as fixing bugs. In this case study we investigate how design debt, in the form of god classes, affects the maintainability and correctness of software products by studying two sample applications of a small-size software development company. The results show that god classes are changed more often and contain more defects than non-god classes. This result complements findings of earlier research and suggests that technical debt has a negative impact on software quality, and should therefore be identified and managed closely in the development process.