WeakSATD: Detecting Weak Self-admitted Technical Debt

05/04/2022
by   Barbara Russo, et al.
0

Speeding up development may produce technical debt, i.e., not-quite-right code for which the effort to make it right increases with time as a sort of interest. Developers may be aware of the debt as they admit it in their code comments. Literature reports that such a self-admitted technical debt survives for a long time in a program, but it is not yet clear its impact on the quality of the code in the long term. We argue that self-admitted technical debt contains a number of different weaknesses that may affect the security of a program. Therefore, the longer a debt is not paid back the higher is the risk that the weaknesses can be exploited. To discuss our claim and rise the developers' awareness of the vulnerability of the self-admitted technical debt that is not paid back, we explore the self-admitted technical debt in the Chromium C-code to detect any known weaknesses. In this preliminary study, we first mine the Common Weakness Enumeration repository to define heuristics for the automatic detection and fix of weak code. Then, we parse the C-code to find self-admitted technical debt and the code block it refers to. Finally, we use the heuristics to find weak code snippets associated to self-admitted technical debt and recommend their potential mitigation to developers. Such knowledge can be used to prioritize self-admitted technical debt for repair. A prototype has been developed and applied to the Chromium code. Initial findings report that 55% of self-admitted technical debt code contains weak code of 14 different types.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/10/2022

Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship Between Technical Debt and Refactoring

To meet project timelines or budget constraints, developers intentionall...
research
07/03/2020

Identification and Remediation of Self-Admitted Technical Debt in Issue Trackers

Technical debt refers to taking shortcuts to achieve short-term goals, w...
research
12/23/2020

A Framework for Self-Admitted Technical Debt Identification and Description

Technical debt occurs when software engineers favour short-term operabil...
research
02/04/2022

Automatic Identification of Self-Admitted Technical Debt from Different Sources

Technical debt refers to taking shortcuts to achieve short-term goals wh...
research
09/07/2021

FixMe: A GitHub Bot for Detecting and Monitoring On-Hold Self-Admitted Technical Debt

Self-Admitted Technical Debt (SATD) is a special form of technical debt ...
research
03/21/2021

Experiences on Managing Technical Debt with Code Smells and AntiPatterns

Technical debt has become a common metaphor for the accumulation of soft...
research
09/27/2019

Technical Debt and Waste in Non-Functional Requirements Documentation: An Exploratory Study

Background: To adequately attend to non-functional requirements (NFRs), ...

Please sign up or login with your details

Forgot password? Click here to reset