Automated Approaches to Detect Self-Admitted Technical Debt: A
Systematic Literature Review
- URL: http://arxiv.org/abs/2312.15020v2
- Date: Tue, 12 Mar 2024 07:12:38 GMT
- Title: Automated Approaches to Detect Self-Admitted Technical Debt: A
Systematic Literature Review
- Authors: Edi Sutoyo, Andrea Capiluppi
- Abstract summary: Self-admitted technical debt (SATD) refers to instances where developers explicitly acknowledge suboptimal code quality or design flaws.
This systematic literature review proposes a taxonomy of feature extraction techniques and ML/DL algorithms used in technical debt detection.
- Score: 6.699060157800401
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Technical debt is a pervasive issue in software development, often arising
from trade-offs made during development, which can impede software
maintainability and hinder future development efforts. Self-admitted technical
debt (SATD) refers to instances where developers explicitly acknowledge
suboptimal code quality or design flaws in the codebase. Automated detection of
SATD has emerged as a critical area of research, aiming to assist developers in
identifying and addressing technical debt efficiently. However, the enormous
variety of feature extraction approaches of NLP and algorithms employed in the
literature often hinder researchers from trying to improve their performance.
In light of this, this systematic literature review proposes a taxonomy of
feature extraction techniques and ML/DL algorithms used in technical debt
detection: its objective is to compare and benchmark their performance in the
examined studies. We selected 53 articles that passed the quality evaluation of
the systematic review. We then investigated in depth which feature extractions
and algorithms were employed to identify technical debt in each software
development activity. All approaches proposed in the analyzed studies were
grouped into NLP, NLP+ML, and NLP+DL. This allows us to discuss the performance
in three different ways. Overall, NLP+DL group consistently outperforms in
precision and F1-score for all projects, and in all but one project for the
recall metric. Regarding the feature extraction techniques, the PTE
consistently achieves higher precision, recall, and F1-score for each project
analyzed. Furthermore, TD types have been mappep to software development
activities; this served to determine the best-performing feature extractions
and algorithms for each development activity. Finally, based on the review
results, we also identify implications that could be of concern to researchers
and practitioners.
Related papers
- Benchmarking Uncertainty Quantification Methods for Large Language Models with LM-Polygraph [85.51252685938564]
Uncertainty quantification (UQ) is becoming increasingly recognized as a critical component of applications that rely on machine learning (ML)
As with other ML models, large language models (LLMs) are prone to make incorrect predictions, hallucinate'' by fabricating claims, or simply generate low-quality output for a given input.
We introduce a novel benchmark that implements a collection of state-of-the-art UQ baselines, and provides an environment for controllable and consistent evaluation of novel techniques.
arXiv Detail & Related papers (2024-06-21T20:06:31Z) - Enhancing LLM-based Test Generation for Hard-to-Cover Branches via Program Analysis [8.31978033489419]
We propose TELPA, a novel technique to generate tests that can reach hard-to-cover branches.
Our experimental results on 27 open-source Python projects demonstrate that TELPA significantly outperforms the state-of-the-art SBST and LLM-based techniques.
arXiv Detail & Related papers (2024-04-07T14:08:28Z) - The Efficiency Spectrum of Large Language Models: An Algorithmic Survey [54.19942426544731]
The rapid growth of Large Language Models (LLMs) has been a driving force in transforming various domains.
This paper examines the multi-faceted dimensions of efficiency essential for the end-to-end algorithmic development of LLMs.
arXiv Detail & Related papers (2023-12-01T16:00:25Z) - Using Machine Learning To Identify Software Weaknesses From Software
Requirement Specifications [49.1574468325115]
This research focuses on finding an efficient machine learning algorithm to identify software weaknesses from requirement specifications.
Keywords extracted using latent semantic analysis help map the CWE categories to PROMISE_exp. Naive Bayes, support vector machine (SVM), decision trees, neural network, and convolutional neural network (CNN) algorithms were tested.
arXiv Detail & Related papers (2023-08-10T13:19:10Z) - PerfDetectiveAI -- Performance Gap Analysis and Recommendation in
Software Applications [0.0]
PerfDetectiveAI, a conceptual framework for performance gap analysis and suggestion in software applications is introduced in this research.
Modern machine learning (ML) and artificial intelligence (AI) techniques are used in PerfDetectiveAI to monitor performance measurements and identify areas of underperformance in software applications.
arXiv Detail & Related papers (2023-06-11T02:53:04Z) - Comparing Software Developers with ChatGPT: An Empirical Investigation [0.0]
This paper conducts an empirical investigation, contrasting the performance of software engineers and AI systems, like ChatGPT, across different evaluation metrics.
The paper posits that a comprehensive comparison of software engineers and AI-based solutions, considering various evaluation criteria, is pivotal in fostering human-machine collaboration.
arXiv Detail & Related papers (2023-05-19T17:25:54Z) - Genetic Micro-Programs for Automated Software Testing with Large Path
Coverage [0.0]
Existing software testing techniques focus on utilising search algorithms to discover input values that achieve high execution path coverage.
This paper outlines a novel genetic programming framework, where the evolved solutions are not input values, but micro-programs that can repeatedly generate input values.
We argue that our approach can be generalised such as to be applied to many different software systems, and is thus not specific to merely the particular software component on which it was trained.
arXiv Detail & Related papers (2023-02-14T18:47:21Z) - IM-IAD: Industrial Image Anomaly Detection Benchmark in Manufacturing [88.35145788575348]
Image anomaly detection (IAD) is an emerging and vital computer vision task in industrial manufacturing.
The lack of a uniform IM benchmark is hindering the development and usage of IAD methods in real-world applications.
We construct a comprehensive image anomaly detection benchmark (IM-IAD), which includes 19 algorithms on seven major datasets.
arXiv Detail & Related papers (2023-01-31T01:24:45Z) - Improved Algorithms for Neural Active Learning [74.89097665112621]
We improve the theoretical and empirical performance of neural-network(NN)-based active learning algorithms for the non-parametric streaming setting.
We introduce two regret metrics by minimizing the population loss that are more suitable in active learning than the one used in state-of-the-art (SOTA) related work.
arXiv Detail & Related papers (2022-10-02T05:03:38Z) - AI-based Modeling and Data-driven Evaluation for Smart Manufacturing
Processes [56.65379135797867]
We propose a dynamic algorithm for gaining useful insights about semiconductor manufacturing processes.
We elaborate on the utilization of a Genetic Algorithm and Neural Network to propose an intelligent feature selection algorithm.
arXiv Detail & Related papers (2020-08-29T14:57:53Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.