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. Their usage can reduce the costs of verification and improve the reliability and security of applications. Pattern-Driven Maintenance (PDM) is a method designed to support the creation of such rules during software maintenance. However, as PDM was recently created, 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 of maintainers on applying each task and their comments on task challenges. We also analyzed the acceptance of PDM by the maintainers. Results: We observed that previous knowledge on debugging, the subject software, and related technologies influenced the performance of maintainers. However, the method's bottleneck was static analysis rules programming, being the task that maintainers had more difficulties in completing. Besides those difficulties, maintainers found PDM useful and demonstrated the intention of using it in practice. Conclusions: The results strengthen our confidence that PDM can help maintainers in producing custom static analysis rules for locating defects. However, a better approach for programming those rules and the proper selection and training of maintainers is needed to apply PDM effectively.
翻译:常规静态分析规则,即针对一个或多个应用程序的具体规则,已经成功地应用于纠正和预防性软件维护。使用这些规则可以降低核查成本,提高应用程序的可靠性和安全性。模式驱动维护(PDM)是旨在支持在软件维护期间制定此类规则的一种方法。然而,由于最近创建了PDM,很少有维护者报告了其使用情况。因此,正确应用PDM所需的挑战和技能并不为人所知。目的:在本文件中,我们调查了维护者在应用PDM制定自定义静态分析规则以适应缺陷本地化时所面临的挑战。方法:我们用PDM的方法对新维护者进行了观察性研究,制定了自定义静态分析规则。研究分为三个任务:(一) 确定缺陷模式,(二) 规划静态分析规则以定位模式,以及(三) 核实所选实例。我们分析了维护者在应用每项任务时的效率及其对任务挑战的评论。我们还分析了维护者对PDM的接受程度。结果:我们观察了以前关于调控规则的自定制静态规则的观察研究,这些常规分析需要更精确性分析。 测试技术的运行。