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.
翻译:目标:在本文件中,我们调查了维护者在应用PDM为缺陷本地化创建自定义固定分析规则方面遇到的挑战和技能。方法:我们用PDM对新维护者进行了观察研究,通过应用PDM来创建定制固定分析规则。研究分为三项任务:(一) 确定缺陷模式,(二) 制定固定分析规则,以确定模式的情景,以及(三) 核实所发现的情况。我们分析了维护者应用PDM的效率和接受程度,以及他们对任务挑战的评论。结果:我们注意到,先前关于调试、主题软件和相关技术的知识能够影响维护者的业绩,以及学习规则编程中涉及的更高技术的时间。