Effective identification of failure-inducing changes: A hybrid approach

Sai Zhang, Yu Lin, Zhongxian Gu, Jianjun Zhao

Research output: Chapter in Book/Report/Conference proceedingConference contribution

14 Citations (Scopus)

Abstract

When regression tests fail unexpectedly after a long session of editing, it may be tedious for programmers to find out the failure-inducing changes by manually inspecting all code edits. To eliminate the expensive effort spent on debugging, we present a hybrid approach, which combines both static and dynamic analysis techniques, to automatically identify the faulty changes. Our approach first uses static change impact analysis to isolate a subset of responsible changes for a failed test, then utilizes the dynamic test execution information to rank these changes according to our proposed heuristic (indicating the likelihood that they may have contributed to the failure), and finally employs an improved Three-Phase delta debugging algorithm, working from the coarse method level to the fine statement level, to find a minimal set of faulty statements. We implemented the proposed approach for both Java and AspectJ programs in our AutoFlow prototype. In our evaluation with two third-party applications, we demonstrate that this hybrid approach can be very effective: at least for the subjective programs we investigated, it takes significantly (almost 4X) fewer tests than the original delta debugging algorithm to locate the faulty code.

Original languageEnglish
Title of host publicationProceedings of the 2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08
Pages77-83
Number of pages7
DOIs
Publication statusPublished - 2008
Externally publishedYes
Event2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08 - Atlanta, GA, United States
Duration: Nov 9 2008Nov 10 2008

Publication series

NameACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering

Other

Other2008 SIGSOFT/SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, PASTE '08
Country/TerritoryUnited States
CityAtlanta, GA
Period11/9/0811/10/08

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'Effective identification of failure-inducing changes: A hybrid approach'. Together they form a unique fingerprint.

Cite this