Interactive semi-automated specification mining for debugging: An experience report
Context Specification mining techniques are typically used to extract the specification of a software in the absence of (up-to-date) specification documents. This is useful for program comprehension, testing, and anomaly detection. However, specification mining can also potentially be used for debugging, where a faulty behavior is abstracted to give developers a context about the bug and help them locating it.
Objective In this project, we investigate this idea in an industrial setting. We propose a very basic semi-automated specification mining approach for debugging and apply that on real reported issues from an AutoPilot software system from our industry partner, MicroPilot Inc. The objective is to assess the feasibility and usefulness of the approach in a real-world setting.
Method The approach is developed as a prototype tool, working on C code, which accept a set of relevant state fields and functions, per issue, and generates an extended finite state machine that represents the faulty behavior, abstracted with respect to the relevant context (the selected fields and functions).
Results We qualitatively evaluate the approach by a set of interviews (including observational studies) with the company’s developers on their real-world reported bugs. The results show that (a) our approach is feasible, (b) it can be automated to some extent, and (c) brings advantages over only using their code-level debugging tools. We also compared this approach with traditional fully automated state-merging algorithms and reported several issues when applying those techniques on a real-world debugging context.
Conclusion The main conclusion of this study is that the idea of an “interactive” specification mining rather than a fully automated mining tool is NOT impractical and indeed is useful for the debugging use case.
Thu 14 NovDisplayed time zone: Tijuana, Baja California change
13:40 - 15:20 | Mining and Bug DetectionDemonstrations / Journal First Presentations at Cortez 2&3 Chair(s): Chanchal K. Roy University of Saskatchewan | ||
13:40 20mTalk | Automatically 'Verifying' Complex Systems through Learning, Abstraction and Refinement Journal First Presentations Jingyi Wang National University of Singapore, Singapore, Jun Sun Singapore Management University, Singapore, Shengchao Qin University of Teesside, Cyrille Jegourel ISTD, Singapore University of Technology and Design Link to publication | ||
14:00 20mTalk | Interactive semi-automated specification mining for debugging: An experience report Journal First Presentations Mohammad Jafar Mashhadi University of Calgary, Taha R. Siddiqui InfoMagnetics Technologies Corp, Hadi Hemmati University of Calgary, Howard W. Loewen Department of Electrical & Computer Engineering, University of Calgary Link to publication | ||
14:20 20mTalk | Improving reusability of software libraries through usage pattern mining Journal First Presentations Mohamed Aymen Saied Concordia University, Ali Ouni ETS Montreal, University of Quebec, Houari Sahraoui Université de Montréal, Raula Gaikovina Kula NAIST, Katsuro Inoue Osaka University, David Lo Singapore Management University Link to publication | ||
14:40 20mTalk | Rule-based specification mining leveraging learning to rank Journal First Presentations Zherui Cao Zhejiang University, Yuan Tian Queens University, Kingston, Canada, Tien-Duy B. Le School of Information Systems, Singapore Management University, David Lo Singapore Management University Link to publication | ||
15:00 10mDemonstration | TsmartGP: A Tool for Finding Memory Defects with Pointer Analysis Demonstrations Yuexing Wang Tsinghua University, Guang Chen Tsinghua University, Min Zhou Tsinghua University, Ming Gu Tsinghua University, Jiaguang Sun Tsinghua University | ||
15:10 10mDemonstration | Ares: Inferring Error Specifications through Static Analysis Demonstrations Li Chi Tsinghua University, Zuxing Gu School of Software, Tsinghua University, Min Zhou Tsinghua University, Ming Gu Tsinghua University, Hongyu Zhang The University of Newcastle |