Design Smell Analysis for Developing and Established Open Source Java Software
Asif Imran, Tevfik Kosar

TL;DR
This paper presents a mechanism and tool for identifying and comparing the prevalence of design smells in developing versus established open-source Java software, revealing different dominant smell types in each stage.
Contribution
It introduces a novel approach and tool for detecting and analyzing the frequency of design smells in different development stages of open-source Java projects.
Findings
Developing software mainly exhibits four specific types of design smells.
Established software predominantly contains four other types of design smells.
The detection tool achieved precision between 72.9% and 84.1%.
Abstract
Software design smells are design attributes which violate the fundamental design principles. Design smells are a key cause of design debt. Although the activities of design smell identification and measurement are predominantly considered in current literature, those which identify and communicate which design smells occur more frequently in newly developing software and which ones are more dominant in established software have been studied to a limited extent. This research describes a mechanism for identifying the design smells that are more prevalent in developing and established software respectively. A tool is provided which is used for design smell detection by analyzing large volumes of source code. More specifically, 164,609 Lines of Code (LoC) and 5,712 class files of six developing and 244,930 LoC and 12,048 class files of five established open-source Java software are…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Advanced Malware Detection Techniques
