Design Smell Analysis for Developing and Established Open Source Java Software
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 analyzed. Obtained results show that out of the 4,020 occurrences of smells that were made for nine preselected types of design smells, 1,643 design smells were detected for developing software, which mainly consisted of four specific types of smells. For established software, 2,397 design smells were observed which predominantly consisted of four other types of smells. The remaining design smell was equally prevalent in both developing and established software. Desirable precision values ranging from 72.9% to 84.1% were obtained for the tool.
Code (0)
등록된 구현이 없습니다.
Similar Papers 제목 키워드 기반
"Project smells" -- Experiences in Analysing the Software Quality of ML Projects with mllint
Machine Learning (ML) projects incur novel challenges in their development and productionisation over traditional software applications, though established principles and best practices in ensuring the project's software…
ManagementSecurity smells in infrastructure as code: a taxonomy update beyond the seven sins
Infrastructure as Code (IaC) has become essential for modern software management, yet security flaws in IaC scripts can have severe consequences, as exemplified by the recurring exploits of Cloud Web Services. Prior work…
How Propense Are Large Language Models at Producing Code Smells? A Benchmarking Study
Large Language Models (LLMs) have shown significant potential in automating software engineering tasks, particularly in code generation. However, current evaluation benchmarks, which primarily focus on accuracy, fall sho…
BenchmarkingCode GenerationMachine Learning-Based Test Smell Detection
Context: Test smells are symptoms of sub-optimal design choices adopted when developing test cases. Previous studies have proved their harmfulness for test code maintainability and effectiveness. Therefore, researchers h…
Automatic Identification of Machine Learning-Specific Code Smells
Machine learning (ML) has rapidly grown in popularity, becoming vital to many industries. Currently, the research on code smells in ML applications lacks tools and studies that address the identification and validity of …