We previously developed REXER (Replicon EXcision Enhanced Recombination) this method enables the replacement of >100 kb of the Escherichia coli genome with synthetic DNA in a single step and allows the rapid identification of non-viable or otherwise problematic sequences with nucleotide resolution. However, a better approach for programming those rules as well as the proper selection and training of maintainers is needed to effectively apply PDM. Conclusions: The results strengthen our confidence that PDM can help maintainers on producing custom static analysis rules for locating defects. Besides those difficulties, maintainers found PDM useful and demonstrated intention of use it in practice. However, the bottleneck of the method was static analysis rules programming, being the task which maintainers had more problems to complete. Results: We observed that previous knowledge on debugging, the subject software, related technologies had influence in the performance of maintainers.
We also analysed the acceptance of PDM by the maintainers. We analyzed the efficiency of maintainers on applying each task and their comments on tasks challenges. The study was divided into tree tasks: (i) identifing a defect pattern, (ii) programming a static analysis rule to locate instances of the pattern, and (iii) verifing the instances located. Method: We conducted an observational study on novice maintainers creating custom static analysis rules by applying PDM. Aims: In this paper, we investigate the challanges faced by maintainers on applying PDM for creating custom static analysis rules for defect localization. Hence, the challenges and skills needed to propper apply PDM are unknonw. However, as PDM was recentelly created, few maintainers have reported its usage. Pattern-Driven Maintenance (PDM) is a method designed to support the creation of those rules during software.
Their usage can reduce costs of verification and improve the reliability and security of applications.
Background: Custom static analysis rules, i.e., rules specific for one or more applications, already were successfully used to perform corrective and preventive software maintenance.