Feedback-based debugging

Software debugging has long been regarded as a time and effort consuming task. In the process of debugging, developers usually need to manually inspect many program steps to see whether they deviate from their intended behaviors. Given that intended behaviors usually exist nowhere but in human mind,...

Full description

Saved in:
Bibliographic Details
Main Authors: LIN, Yun, SUN, Jun, XUE, Yinxing, LIU, Yang, DONG, Jin Song
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2017
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/4709
https://ink.library.smu.edu.sg/context/sis_research/article/5712/viewcontent/feedback_based_debugging_av.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-5712
record_format dspace
spelling sg-smu-ink.sis_research-57122020-03-26T08:02:39Z Feedback-based debugging LIN, Yun SUN, Jun XUE, Yinxing LIU, Yang DONG, Jin Song Software debugging has long been regarded as a time and effort consuming task. In the process of debugging, developers usually need to manually inspect many program steps to see whether they deviate from their intended behaviors. Given that intended behaviors usually exist nowhere but in human mind, the automation of debugging turns out to be extremely hard, if not impossible. In this work, we propose a feedback-based debugging approach, which (1) builds on light-weight human feedbacks on a buggy program and (2) regards the feedbacks as partial program specification to infer suspicious steps of the buggy execution. Given a buggy program, we record its execution trace and allow developers to provide light-weight feedback on trace steps. Based on the feedbacks, we recommend suspicious steps on the trace. Moreover, our approach can further learn and approximate bug-free paths, which helps reduce required feedbacks to expedite the debugging process. We conduct an experiment to evaluate our approach with simulated feedbacks on 3409 mutated bugs across 3 open source projects. The results show that our feedback-based approach can detect 92.8% of the bugs and 65% of the detected bugs require less than 20 feedbacks. In addition, we implement our proof-of-concept tool, Microbat, and conduct a user study involving 16 participants on 3 debugging tasks. The results show that, compared to the participants using the baseline tool, Whyline, the ones using Microbat can spend on average 55.8% less time to locate the bugs. 2017-05-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/4709 info:doi/10.1109/ICSE.2017.43 https://ink.library.smu.edu.sg/context/sis_research/article/5712/viewcontent/feedback_based_debugging_av.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 Approximation Debugging Feedback Path Pattern Slicing Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Approximation
Debugging
Feedback
Path Pattern
Slicing
Software Engineering
spellingShingle Approximation
Debugging
Feedback
Path Pattern
Slicing
Software Engineering
LIN, Yun
SUN, Jun
XUE, Yinxing
LIU, Yang
DONG, Jin Song
Feedback-based debugging
description Software debugging has long been regarded as a time and effort consuming task. In the process of debugging, developers usually need to manually inspect many program steps to see whether they deviate from their intended behaviors. Given that intended behaviors usually exist nowhere but in human mind, the automation of debugging turns out to be extremely hard, if not impossible. In this work, we propose a feedback-based debugging approach, which (1) builds on light-weight human feedbacks on a buggy program and (2) regards the feedbacks as partial program specification to infer suspicious steps of the buggy execution. Given a buggy program, we record its execution trace and allow developers to provide light-weight feedback on trace steps. Based on the feedbacks, we recommend suspicious steps on the trace. Moreover, our approach can further learn and approximate bug-free paths, which helps reduce required feedbacks to expedite the debugging process. We conduct an experiment to evaluate our approach with simulated feedbacks on 3409 mutated bugs across 3 open source projects. The results show that our feedback-based approach can detect 92.8% of the bugs and 65% of the detected bugs require less than 20 feedbacks. In addition, we implement our proof-of-concept tool, Microbat, and conduct a user study involving 16 participants on 3 debugging tasks. The results show that, compared to the participants using the baseline tool, Whyline, the ones using Microbat can spend on average 55.8% less time to locate the bugs.
format text
author LIN, Yun
SUN, Jun
XUE, Yinxing
LIU, Yang
DONG, Jin Song
author_facet LIN, Yun
SUN, Jun
XUE, Yinxing
LIU, Yang
DONG, Jin Song
author_sort LIN, Yun
title Feedback-based debugging
title_short Feedback-based debugging
title_full Feedback-based debugging
title_fullStr Feedback-based debugging
title_full_unstemmed Feedback-based debugging
title_sort feedback-based debugging
publisher Institutional Knowledge at Singapore Management University
publishDate 2017
url https://ink.library.smu.edu.sg/sis_research/4709
https://ink.library.smu.edu.sg/context/sis_research/article/5712/viewcontent/feedback_based_debugging_av.pdf
_version_ 1770574985902948352