论文标题

关于创建定制静态分析规则缺陷本地化的挑战的实证研究

An Empirical Investigation on the Challenges of Creating Custom Static Analysis Rules for Defect Localization

论文作者

Mendonça, Diogo Silveira, Kalinowski, Marcos

论文摘要

背景:自定义静态分析规则,即针对一个或多个应用程序的特定规则,已成功应用于执行纠正和预防性软件维护。模式驱动的维护(PDM)是一种旨在支持在软件维护过程中创建此类规则的方法。但是,由于最近提出了PDM,因此很少有维护人员报告其使用情况。因此,正确应用PDM所需的挑战和技能是未知的。目的:在本文中,我们调查了维护者在应用PDM方面面临的挑战,以创建用于缺陷定位的自定义静态分析规则。方法:我们对新手维护者进行了一项观察性研究,通过应用PDM来创建自定义的静态分析规则。该研究分为三个任务:(i)确定缺陷模式,(ii)对静态分析规则进行编程以定位模式的实例,以及(iii)验证所定实例。我们分析了维护者在应用PDM上的效率和接受及其对任务挑战的评论。结果:我们观察到,先前关于调试,主题软件及相关技术的知识影响了维护者的性能以及学习规则编程所涉及的技术的时间。结论:结果增强了我们对PDM可以帮助维护者制定定制静态分析规则的信心。但是,需要对维护者进行适当的选择和培训,以有效地应用PDM。同样,使用更高水平的抽象可以缓解新手维护者的静态分析规则编程。

Background: Custom static analysis rules, i.e., rules specific for one or more applications, have been successfully applied to perform corrective and preventive software maintenance. Pattern-Driven Maintenance (PDM) is a method designed to support the creation of such rules during software maintenance. However, as PDM was recently proposed, few maintainers have reported on its usage. Hence, the challenges and skills needed to apply PDM properly are unknown. Aims: In this paper, we investigate the challenges faced by maintainers on applying PDM for creating custom static analysis rules for defect localization. Method: We conducted an observational study on novice maintainers creating custom static analysis rules by applying PDM. The study was divided into three tasks: (i) identifying a defect pattern, (ii) programming a static analysis rule to locate instances of the pattern, and (iii) verifying the located instances. We analyzed the efficiency and acceptance of maintainers on applying PDM and their comments on task challenges. Results: We observed that previous knowledge on debugging, the subject software, and related technologies influenced the performance of maintainers as well as the time to learn the technology involved in rule programming. Conclusions: The results strengthen our confidence that PDM can help maintainers in producing custom static analysis rules for locating defects. However, a proper selection and training of maintainers is needed to apply PDM effectively. Also, using a higher level of abstraction can ease static analysis rule programming for novice maintainers.

扫码加入交流群

加入微信交流群

微信交流群二维码

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