Software design debt aims to elucidate the rectification attempts of the present design flaws and studies the influence of those to the cost and time of the software. Design smells are a key cause of incurring design debt. Although the impact of design smells on design debt have been predominantly considered in current literature, how design smells are caused due to not following software engineering best practices require more exploration. This research provides a tool which is used for design smell detection in Java software by analyzing large volume of source codes. More specifically, 409,539 Lines of Code (LoC) and 17,760 class files of open source Java software are analyzed here. Obtained results show desirable precision values ranging from 81.01\% to 93.43\%. Based on the output of the tool, a study is conducted to relate the cause of the detected design smells to two software engineering challenges namely "irregular team meetings" and "scope creep". As a result, the gained information will provide insight to the software engineers to take necessary steps of design remediation actions.
翻译:软件设计债务旨在阐明当前设计缺陷的修复尝试,并研究这些缺陷对软件成本和工期的影响。设计气味是产生设计债务的关键原因。尽管现有文献主要关注设计气味对设计债务的影响,但关于未遵循软件工程最佳实践而导致设计气味产生的原因仍需进一步探索。本研究提供了一种通过对大量源代码进行分析来检测Java软件中设计气味的工具。具体而言,本文分析了开源Java软件的409,539行代码及17,760个类文件。实验结果表明,该工具的精确度达到了81.01%至93.43%的理想范围。基于工具输出结果,本研究进一步将检测到的设计气味成因与两类软件工程挑战——“非定期团队会议”与“范围蔓延”——建立关联。最终所得信息将为软件工程师采取必要的设计修复措施提供重要参考。