Static bug detection tools help developers detect problems in the code, including bad programming practices and potential defects. Recent efforts to integrate static bug detectors in modern software development workflows, such as in code review and continuous integration, are shown to better motivate developers to fix the reported warnings on the fly. A proper mechanism to track the evolution of the reported warnings can better support such integration. Moreover, tracking the static code warnings will benefit many downstream software engineering tasks, such as learning the fix patterns for automated program repair, and learning which warnings are of more interest, so they can be prioritized automatically. In addition, the utilization of tracking tools enables developers to concentrate on the most recent and actionable static warnings rather than being overwhelmed by the thousands of warnings from the entire project. This, in turn, enhances the utilization of static analysis tools. Hence, precisely tracking the warnings by static bug detectors is critical to improving the utilization of static bug detectors further.
翻译:静态错误检测工具帮助开发人员发现代码中的问题,包括不良编程实践和潜在缺陷。近年来,将静态错误检测器集成到现代软件开发工作流程(如代码审查和持续集成)中的努力表明,这能更好地激励开发人员及时修复所报告的警告。合理追踪所报告警告的演进机制可以更好地支持此类集成。此外,追踪静态代码警告将有益于许多下游软件工程任务,例如学习自动程序修复的修复模式,以及识别哪些警告更受关注,从而自动对其设定优先级。同时,利用追踪工具可使开发人员专注于最新且可处理的静态警告,而非被整个项目成千上万条警告所淹没,这进而提升了静态分析工具的利用率。因此,精确追踪静态错误检测器发出的警告对于进一步提升其利用率至关重要。