Code smells detection and visualization: A systematic literature review

12/16/2020
by   José Pereira dos Reis, et al.
0

Context: Code smells (CS) tend to compromise software quality and also demand more effort by developers to maintain and evolve the application throughout its life-cycle. They have long been catalogued with corresponding mitigating solutions called refactoring operations. Objective: This SLR has a twofold goal: the first is to identify the main code smells detection techniques and tools discussed in the literature, and the second is to analyze to which extent visual techniques have been applied to support the former. Method: Over 83 primary studies indexed in major scientific repositories were identified by our search string in this SLR. Then, following existing best practices for secondary studies, we applied inclusion/exclusion criteria to select the most relevant works, extract their features and classify them. Results: We found that the most commonly used approaches to code smells detection are search-based (30.1 open-source software, with the Java language occupying the first position (77.1 Long Method (26.5 used in 35 without providing visualization techniques. In visualization-based approaches several methods are used, such as: city metaphors, 3D visualization techniques. Conclusions: We confirm that the detection of CS is a non trivial task, and there is still a lot of work to be done in terms of: reducing the subjectivity associated with the definition and detection of CS; increasing the diversity of detected CS and of supported programming languages; constructing and sharing oracles and datasets to facilitate the replication of CS detection and visualization techniques validation experiments.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/20/2020

Software Development Analytics in Practice: A Systematic Literature Review

Context:Software Development Analytics is a research area concerned with...
research
06/27/2022

A Model-Based Approach for Specifying Changes in Replications of Empirical Studies in Computer Science

Context: The need of replicating empirical studies in Computer Science (...
research
12/23/2020

Crowdsmelling: The use of collective knowledge in code smells detection

Code smells are seen as major source of technical debt and, as such, sho...
research
08/12/2021

SysMap: A Lightweight Software Visualization Tool to Analyze the Software Evolution of a System

Software visualization helps to comprehend the system by providing a viv...
research
10/29/2020

Unveiling process insights from refactoring practices

Context : Software comprehension and maintenance activities, such as ref...
research
09/08/2022

Automated Validation of Insurance Applications against Calculation Specifications

Insurance companies rely on their Legacy Insurance System (LIS) to gover...

Please sign up or login with your details

Forgot password? Click here to reset