Understanding and Detecting Annotation-induced Faults of Static Analyzers
Static analyzers can reason about the properties and behaviours of programs and detect various issues without executing them. Hence, they should extract the necessary information to understand the analyzed program well. Annotation is a widely used feature for different purposes in Java since the introduction of Java 5. Annotations can change program structures and convey semantics information without awareness of static analyzers, consequently leading to imprecise analysis results. This paper presents the first comprehensive study of annotation-induced faults (AIF) by analyzing 246 issues in six open-source and popular static analyzers (i.e., PMD, SpotBugs, CheckStyle, Infer, SonarQube, and Soot). We analyzed the issues’ root causes, symptoms, and fix strategies and derived ten findings and some practical guidelines for detecting and repairing annotation-induced faults. Moreover, we developed an automated testing framework called AnnaTester based on three metamorphic relations originated from the findings. AnnaTester generated new tests based on the official test suites of static analyzers and unveiled 43 new faults, 20 of which have been fixed. The results confirm the value of our study and its findings.
Thu 18 JulDisplayed time zone: Brasilia, Distrito Federal, Brazil change
11:00 - 12:30 | Empirical Studies 2Ideas, Visions and Reflections / Research Papers / Industry Papers / Journal First at Acerola Chair(s): Iftekhar Ahmed University of California, Irvine | ||
11:00 18mTalk | State Reconciliation Defects in Infrastructure as Code Research Papers Md Mahadi Hassan Auburn University, John Salvador Auburn University, Shubhra Kanti Karmaker Santu Auburn University, Akond Rahman Auburn University Pre-print | ||
11:18 18mTalk | Understanding and Detecting Annotation-induced Faults of Static Analyzers Research Papers Huaien Zhang The Hong Kong Polytechnic University, Southern University of Science and Technology, Yu Pei The Hong Kong Polytechnic University, Shuyun Liang Southern University of Science and Technology, Shin Hwei Tan Concordia University | ||
11:36 18mTalk | What Makes a Code Review Useful to OpenDev Developers? An Empirical Investigation Journal First | ||
11:54 9mTalk | The Patch Overfitting Problem in Automated Program Repair: Practical Magnitude and a Baseline for Realistic Benchmarking Ideas, Visions and Reflections Justyna Petke University College London, Matias Martinez Universitat Politècnica de Catalunya (UPC), Maria Kechagia University College London, Aldeida Aleti Monash University, Federica Sarro University College London | ||
12:03 9mTalk | Automating Issue Reporting in Software Testing: Lessons Learned from Using the Template Generator Tool Industry Papers Lennon Chaves SIDIA Institute of Science and Technology, Flávia Oliveira Sidia Institute of Science and Technology, Leonardo Tiago Sidia Institute of Science and Technology | ||
12:12 9mTalk | Reproducibility Debt: Challenges and Future Pathways Ideas, Visions and Reflections Zara Hassan Australian National University, Christoph Treude Singapore Management University, Michael Norrish Australian National University, Graham Williams Australian National University, Alex Potanin Australian National University Link to publication DOI | ||
12:21 9mTalk | A Vision on Open Science for the Evolution of Software Engineering Research and Practice Ideas, Visions and Reflections Edson OliveiraJr State University of Maringá, Fernanda Madeiral Vrije Universiteit Amsterdam, Alcemir Rodrigues Santos State University of Piauí, Christina von Flach Federal University of Bahia, Sérgio Soares Universidade Federal de Pernambuco Pre-print |