Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
5-2017
Abstract
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.
Keywords
Approximation, Debugging, Feedback, Path Pattern, Slicing
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
ICSE '17: Proceedings of the 39th IEEE/ACM International Conference on Software Engineering: Buenos Aires, Argentina, July 20-28
First Page
393
Last Page
403
ISBN
9781538638682
Identifier
10.1109/ICSE.2017.43
Publisher
ACM
City or Country
New York
Citation
LIN, Yun; SUN, Jun; XUE, Yinxing; LIU, Yang; and DONG, Jin Song.
Feedback-based debugging. (2017). ICSE '17: Proceedings of the 39th IEEE/ACM International Conference on Software Engineering: Buenos Aires, Argentina, July 20-28. 393-403.
Available at: https://ink.library.smu.edu.sg/sis_research/4709
Copyright Owner and License
Authors
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/ICSE.2017.43