Locating Framework-specific Crashing Faults with Compact and Explainable Candidate Set
Nowadays, many applications do not exist independently but rely on various frameworks or libraries. The complex internal implementation and frequent evolution of APIs induce unknown misuses and unexpected post-release crashes. To automatically locate buggy methods based on the limited infor- mation in crash stack traces, existing approaches either perform static tracing on the call graph or construct a large-scale dataset with crash-fixing records for machine learning. These approaches are limited by the completeness of the call graph (CG) and heavily rely on manually labeled similar cases. Besides, they only take the application code under analysis regardless of the exception triggering procedure in the bottom-level code, which hinders the developers to understand the fault localization results.
To achieve effective debugging on complex framework-specific crashes, we propose a code-separation-based locating approach that does not completely rely on the CG edges and does not require any prior knowledge. Our key insight is that one crash stack trace with the description information can be mapped to a definite exception-thrown point in the framework, the syntax analysis of which can help to figure out the root cause of the crash-triggering procedure. Thus, we can construct reusable summaries for all the framework-specific exceptions and use this information to achieve fault localization. The challenge is which information can we extract to effectively support the fault localization in the application code. In this paper, we design and construct the \textit{exception-throwing summaries}, which describe the key variables and APIs that relate to the triggering of exceptions from the view of the framework users. Then, we perform static analysis to automatically compute such summaries and make a data tracking of these key variables and APIs in the application code to locate faults. In the scenario of locating Android framework-specific crashing faults, our tool CrashTracker exhibited an overall MRR metric value of 0.91, and outperforms the state-of-the-art tool Anchor with higher precision using a compact candidate set. Moreover, CrashTracker provides explainable reasons for each reported buggy candidate.
Wed 17 MayDisplayed time zone: Hobart change
11:00 - 12:30 | Fault localizationJournal-First Papers / Technical Track / Showcase at Meeting Room 103 Chair(s): Rui Abreu University of Porto | ||
11:00 15mTalk | Evaluating the Impact of Experimental Assumptions in Automated Fault Localization Technical Track Ezekiel Soremekun Royal Holloway, University of London, Lukas Kirschner Saarland University, Marcel Böhme MPI-SP, Germany and Monash University, Australia, Mike Papadakis University of Luxembourg, Luxembourg Pre-print Media Attached | ||
11:15 15mTalk | Locating Framework-specific Crashing Faults with Compact and Explainable Candidate Set Technical Track Jiwei Yan Institute of Software at Chinese Academy of Sciences, China, MiaoMiao Wang Technology Center of Software Engineering, ISCAS, China. University of Chinese Academy of Sciences, China., Yepang Liu Southern University of Science and Technology, Jun Yan Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Long Zhang Institute of Software, Chinese Academy of Sciences Pre-print | ||
11:30 15mTalk | PExReport: Automatic Creation of Pruned Executable Cross-Project Failure Reports Technical Track Pre-print Media Attached | ||
11:45 15mTalk | Bug localization in game software engineering: evolving simulations to locate bugs in software models of video games Showcase Rodrigo Casamayor SVIT Research Group. Universidad San Jorge, Lorena Arcega San Jorge University, Francisca Pérez SVIT Research Group, Universidad San Jorge, Carlos Cetina San Jorge University, Spain DOI | ||
12:00 7mTalk | Real World Projects, Real Faults: Evaluating Spectrum Based Fault Localization Techniques on Python Projects Journal-First Papers Ratnadira Widyasari Singapore Management University, Singapore, Gede Artha Azriadi Prana Singapore Management University, Stefanus Agus Haryono Singapore Management University, Shaowei Wang University of Manitoba, David Lo Singapore Management University | ||
12:07 7mTalk | Effective Isolation of Fault-Correlated Variables via Statistical and Mutation Analysis Journal-First Papers Ming Wen Huazhong University of Science and Technology, Zifan Xie Huazhong University of Science and Technology, Kaixuan Luo Huazhong University of Science and Technology, Xiao Chen Huazhong University of Science and Technology, Yibiao Yang Nanjing University, Hai Jin Huazhong University of Science and Technology | ||
12:15 15mTalk | RAT: A Refactoring-Aware Traceability Model for Bug Localization Technical Track Feifei Niu University of Ottawa, Wesley Assunção Johannes Kepler University Linz, Austria & Pontifical Catholic University of Rio de Janeiro, Brazil, Liguo Huang Southern Methodist University, Christoph Mayr-Dorn JOHANNES KEPLER UNIVERSITY LINZ, Jidong Ge Nanjing University, Bin Luo Nanjing University, Alexander Egyed Johannes Kepler University Linz File Attached |