Explaining regressions via alignment slicing and mending

Regression faults, which make working code stop functioning, are often introduced when developers make changes to the software. Many regression fault localization techniques have been proposed. However, issues like inaccuracy and lack of explanation are still obstacles for their practical applicatio...

Full description

Saved in:
Bibliographic Details
Main Authors: WANG, Haijun, LIN, Yun, YANG, Zijiang, SUN, Jun, LIU, Yang, DONG, Jinsong, ZHENG, Qinghua, LIU, Ting
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2019
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/4759
https://ink.library.smu.edu.sg/context/sis_research/article/5762/viewcontent/tse19.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-5762
record_format dspace
spelling sg-smu-ink.sis_research-57622020-01-16T10:29:41Z Explaining regressions via alignment slicing and mending WANG, Haijun LIN, Yun YANG, Zijiang SUN, Jun LIU, Yang DONG, Jinsong ZHENG, Qinghua LIU, Ting Regression faults, which make working code stop functioning, are often introduced when developers make changes to the software. Many regression fault localization techniques have been proposed. However, issues like inaccuracy and lack of explanation are still obstacles for their practical application. In this work, we propose a trace-based approach to identifying not only where the root cause of a regression bug lies, but also how the defect is propagated to its manifestation as the explanation. In our approach, we keep the trace of original correct version as reference and infer the faulty steps on the trace of regression version so that we can build a causality graph of how the defect is propagated. To this end, we overcomes two technical challenges. First, we align two traces derived from two program versions by extending state-of-the-art trace alignment technique for regression fault with novel relaxation technique. Second, we construct causality graph (i.e., explanation) by adopting a technique called alignment slicing and mending to isolate the failure-inducing changes and explain the failure. Our comparative experiment with the state-of-the-art techniques including dynamic slicing, delta-debugging, and symbolic execution on 24 real-world regressions shows that (1) our approach is more accurate on isolating the failure-inducing changes, (2) the generated explanation requires acceptable manual effort to inspect, and (3) our approach requires lower runtime overhead. In addition, we also conduct an applicability experiment based on Defects4J bug repository, showing the potential limitations of our trace-based approach and providing guidance for its practical use. 2019-10-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/4759 info:doi/10.1109/TSE.2019.2949568 https://ink.library.smu.edu.sg/context/sis_research/article/5762/viewcontent/tse19.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Regression bug trace alignment alignment slicing and mending fault localization Computer Engineering Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Regression bug
trace alignment
alignment slicing and mending
fault localization
Computer Engineering
Software Engineering
spellingShingle Regression bug
trace alignment
alignment slicing and mending
fault localization
Computer Engineering
Software Engineering
WANG, Haijun
LIN, Yun
YANG, Zijiang
SUN, Jun
LIU, Yang
DONG, Jinsong
ZHENG, Qinghua
LIU, Ting
Explaining regressions via alignment slicing and mending
description Regression faults, which make working code stop functioning, are often introduced when developers make changes to the software. Many regression fault localization techniques have been proposed. However, issues like inaccuracy and lack of explanation are still obstacles for their practical application. In this work, we propose a trace-based approach to identifying not only where the root cause of a regression bug lies, but also how the defect is propagated to its manifestation as the explanation. In our approach, we keep the trace of original correct version as reference and infer the faulty steps on the trace of regression version so that we can build a causality graph of how the defect is propagated. To this end, we overcomes two technical challenges. First, we align two traces derived from two program versions by extending state-of-the-art trace alignment technique for regression fault with novel relaxation technique. Second, we construct causality graph (i.e., explanation) by adopting a technique called alignment slicing and mending to isolate the failure-inducing changes and explain the failure. Our comparative experiment with the state-of-the-art techniques including dynamic slicing, delta-debugging, and symbolic execution on 24 real-world regressions shows that (1) our approach is more accurate on isolating the failure-inducing changes, (2) the generated explanation requires acceptable manual effort to inspect, and (3) our approach requires lower runtime overhead. In addition, we also conduct an applicability experiment based on Defects4J bug repository, showing the potential limitations of our trace-based approach and providing guidance for its practical use.
format text
author WANG, Haijun
LIN, Yun
YANG, Zijiang
SUN, Jun
LIU, Yang
DONG, Jinsong
ZHENG, Qinghua
LIU, Ting
author_facet WANG, Haijun
LIN, Yun
YANG, Zijiang
SUN, Jun
LIU, Yang
DONG, Jinsong
ZHENG, Qinghua
LIU, Ting
author_sort WANG, Haijun
title Explaining regressions via alignment slicing and mending
title_short Explaining regressions via alignment slicing and mending
title_full Explaining regressions via alignment slicing and mending
title_fullStr Explaining regressions via alignment slicing and mending
title_full_unstemmed Explaining regressions via alignment slicing and mending
title_sort explaining regressions via alignment slicing and mending
publisher Institutional Knowledge at Singapore Management University
publishDate 2019
url https://ink.library.smu.edu.sg/sis_research/4759
https://ink.library.smu.edu.sg/context/sis_research/article/5762/viewcontent/tse19.pdf
_version_ 1770575023493349376