论文标题

弱质:检测弱的自我吸引技术债务

WeakSATD: Detecting Weak Self-admitted Technical Debt

论文作者

Russo, Barbara, Camilli, Matteo, Mock, Moritz

论文摘要

加快发展的发展可能会产生技术债务,即非右翼法规,使其正确地增加时间作为一种利益。开发人员可能会意识到债务,因为他们在代码评论中承认债务。文献报道说,这种自我吸引的技术债务在计划中长期存在,但从长远来看尚不清楚其对代码质量的影响。我们认为,自我辅助的技术债务包含许多可能影响计划安全性的不同弱点。因此,未偿还债务的时间越长,可以利用弱点的风险就越高。为了讨论我们的主张并提高了开发商对未偿还的自我拥护技术债务脆弱性的认识,我们探索了Chromium c代码中自我吸引的技术债务,以检测任何已知的弱点。在这项初步研究中,我们首先挖掘了共同的弱点存储库,以定义自动检测和修复弱代码的启发式方法。然后,我们解析C代码以找到自我吸引的技术债务及其所指的代码块。最后,我们使用启发式方法找到与自我吸引的技术债务相关的薄弱代码段,并向开发人员推荐其潜在的缓解措施。这些知识可用于优先考虑自我吸引的技术债务以维修。已经开发了原型并将其应用于铬代码。初始发现报告说,有55%的自我吸附技术债务代码包含14种不同类型的弱代码。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源