Identifying Self-Admitted Technical Debt (SATD) in source code is one of the challenges present in contemporary software development. This debt reflects compromises in code quality, often resulting from design or implementation decisions made quickly and temporarily. FindTD is a Machine Learning tool developed to identify self-admitted technical debt in source code.
This research, conducted under the Samsung-UFAM Project for Education and Research (SUPER), based on a previous work available in the GitHub (Li, Soliman e Avgeriou, 2022), The tool utilizes a pre-trained model and a database extracted from this previous work as a starting point. Additionally, an extra model was developed using SVM (Support Vector Machine) to identify different types of technical debt. By using 80% of the dataset for training and 20% for testing, the SVM model achieved an accuracy of 65% and an F1-score of 64.13%.
Uses a pre-trained CNN model to analyze comments and identify potential areas of technical debt in the source code.
Applies an SVM model to classify the different types of technical debt found, such as complex code, lack of documentation, among others.
Generates detailed reports on the location, nature, and severity of the identified technical debt, facilitating the planning and prioritization of refactoring activities.
SUPER is a collaborative project between SAMSUNG and the Federal University of Amazonas (UFAM), aimed at fostering training and research in 11 undergraduate programs at UFAM. At the Manaus campus, the participating programs include Computer Science, Electrical Engineering (with emphases in Electronics, Telecommunications, and Electrical Engineering), Computer Engineering, Software Engineering, Production Engineering, and Design. Meanwhile, at the Itacoatiara Campus, the programs covered are Production Engineering, Software Engineering, and Information Systems.
Learn MoreWe have developed a tutorial explaining how to use the tool step by step, as well as how to download the pre-trained models and the dataset used, free of charge.
Li, Y.; Soliman, M. e Avgeriou, P. (2022). Identifying Self-Admitted Technical Debt in Issue Tracking Systems Using Machine Learning. Empirical Software Engineering, v. 27, n. 131.