학술논문

PILOT: Synergy between Text Processing and Neural Networks to Detect Self-Admitted Technical Debt
Document Type
Conference
Source
2022 IEEE/ACM International Conference on Technical Debt (TechDebt) TECHDEBT Technical Debt (TechDebt), 2022 IEEE/ACM International Conference on. :41-45 May, 2022
Subject
Computing and Processing
Codes
Machine learning algorithms
Neural networks
Semantics
Prototypes
Machine learning
Feature extraction
Self-Admitted Technical Debt
NLP techniques
Neural Networks
Language
Abstract
During the development phase, software programmers usually introduce code that contains issues intentionally left for additional treatment. To allow for future fixing, they mark such code using textual comments, resulting in Self-Admitted Technical Debt (SATD). Detecting SATD contained in source code has become crucial in the development cycle since it helps program-mers locate issues that need to be solved, thus improving code quality. We introduce PILOT, a technical debt detector built on top of a combination of different natural language processing (NLP) and machine learning (ML) techniques. First, the semantic among SATD comments is captured using feature extraction steps. Then, neural network algorithms are applied to classify comments, represented as vectors. We built a PILOT prototype with a feed-forward neural network and evaluated it using real-world datasets as proof of concept. The empirical evaluation shows that PILOT obtains an encouraging performance and outperforms a well-established baseline. We anticipate that our tool will come in handy, as once being embedded in the IDE, it can help developers recognize SATD manifested in their code, allowing them to conveniently identify and fix issues.