Design Smell Analysis for Developing and Established Open Source Java Software

10/11/2019
by   Asif Imran, et al.
0

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

READ FULL TEXT
research
06/14/2021

CodeLabeller: A Web-based Code Annotation Tool for Java Design Patterns and Summaries

The appropriate use of design patterns in code is a vital measurement of...
research
02/12/2020

A Study of Potential Code Borrowing and License Violations in Java Projects on GitHub

With an ever-increasing amount of open source software, the popularity o...
research
07/16/2018

Visualizing Design Erosion: How Big Balls of Mud are Made

Software systems are not static, they have to undergo frequent changes t...
research
07/09/2021

On the Nature of Code Cloning in Open-Source Java Projects

Code cloning plays a very important role in open-source software enginee...
research
01/22/2021

An Empirical Study of Flaky Tests in Python

Tests that cause spurious failures without any code changes, i.e., flaky...
research
03/11/2020

On Tracking Java Methods with Git Mechanisms

Method-level historical information is useful in research on mining soft...
research
09/03/2023

Who Made This Copy? An Empirical Analysis of Code Clone Authorship

Code clones are code snippets that are identical or similar to other sni...

Please sign up or login with your details

Forgot password? Click here to reset