An Empirical Investigation on the Challenges of Creating Custom Static Analysis Rules for Defect Localization
Diogo Silveira Mendon\c{c}a, Marcos Kalinowski

TL;DR
This study empirically investigates the challenges faced by novice maintainers when applying Pattern-Driven Maintenance (PDM) to create custom static analysis rules for defect localization, highlighting the importance of training and abstraction levels.
Contribution
It provides empirical insights into the skills, challenges, and factors influencing the effective application of PDM for static analysis rule creation by maintainers.
Findings
Prior knowledge impacts rule creation efficiency.
Training and abstraction levels ease rule programming.
Proper selection of maintainers improves PDM effectiveness.
Abstract
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)…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software System Performance and Reliability
