arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2103.13548cs.SE
收藏

一种更好的静态代码流演化跟踪方法

A Better Approach to Track the Evolution of Static Code Warnings

Junjie Li

摘要:

静态错误检测工具帮助开发人员检测代码问题。然而,众所周知,由于各种原因,它们仍然没有得到充分利用。在现代软件开发工作流中引入静态错误检测器的最新进展可以更好地激励开发人员即时修复报告的警告。在本文中,我们研究了最先进的(SOA)解决方案的静态错误检测器跟踪警告的有效性,并提出了一个更好的解决方案的基础上,我们分析的不一致性的SOA解决方案。特别是,我们检查了四个大型开源系统,并通过两个静态错误检测器制作了一个包含3,452个静态代码警告的数据集。我们手动揭示所选警告的真实演变状态:持续、已解决或新引入。此外,通过人工分析,我们确定了SOA匹配算法不一致背后的关键原因。最后,我们提出了一个更好的方法来改善静态警告的跟踪软件开发历史。我们的评估表明,我们提出的方法提供了一个显着的改善精度的跟踪,即,从66.9%上升到90.0%。

英文摘要:

Static bug detection tools help developers detect code problems. However, it is known that they remain underutilized due to various reasons. Recent advances to incorporate static bug detectors in modern software development workflows can better motivate developers to fix the reported warnings on the fly. In this paper, we study the effectiveness of the state-of-the-art (SOA) solution in tracking warnings by static bug detectors and propose a better solution based on our analysis of the insufficiencies of the SOA solution. In particular, we examined four large-scale open-source systems and crafted a data set of 3,452 static code warnings by two static bug detectors. We manually uncover the ground-truth evolution status of the selected warnings: persistent, resolved, or newly-introduced. Moreover, upon manual analysis, we identified the critical reasons behind the insufficiencies of the SOA matching algorithm. Finally, we propose a better approach to improve the tracking of static warnings over software development history. Our evaluation shows that our proposed approach provides a significant improvement in the precision of the tracking, i.e., from 66.9% to 90.0%.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑