Generalized algorithmic debugging and testing
ACM Letters on Programming Languages and Systems (LOPLAS)
Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria
ICSE '94 Proceedings of the 16th international conference on Software engineering
Empirical Studies of a Safe Regression Test Selection Technique
IEEE Transactions on Software Engineering
Prioritizing Test Cases For Regression Testing
IEEE Transactions on Software Engineering
Algorithmic Program DeBugging
Tracking down software bugs using automatic anomaly detection
Proceedings of the 24th International Conference on Software Engineering
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
Failure and Fault Analysis for Software Debugging
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Bug isolation via remote program sampling
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Empirical Evaluation of the Textual Differencing Regression Testing Technique
ICSM '98 Proceedings of the International Conference on Software Maintenance
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
Scalable statistical bug isolation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
SOBER: statistical model-based bug localization
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Experimental evaluation of using dynamic slices for fault location
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Empirical evaluation of the tarantula automatic fault-localization technique
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
A similarity-aware approach to testing based fault localization
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
HDD: hierarchical delta debugging
Proceedings of the 28th international conference on Software engineering
Locating faults through automated predicate switching
Proceedings of the 28th international conference on Software engineering
Understanding failures through facts
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Isolating failure causes through test case generation
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Injecting mechanical faults to localize developer faults for evolving software
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Is this a bug or an obsolete test?
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Debugging is a time-consuming task in software development. Although various automated approches have been proposed, they are not effective enough. On the other hand, in manual debugging, developers have difficulty in choosing breakpoints. To address these problems and help developers locate faults effectively, we propose an interactive fault-localization framework, combining the benefits of automated approaches and manual debugging. Before, the fault is found, this framework continuously recommends checking points based on statements suspicions, which are calculated according to the execution information of test cases and the feedback information from the developer at earlier checking points. Then we propose a naive approach, which is an initial implementation of this framework. However, with this naive approach or manual debugging, developers' wrong estimation of whether the faulty statement is executed before the checking point (breakpoint) may make the debugging process fail. So we propose another robust approach based on this framework, handling cases where developers make mistakes during the fault-localization process. We performed two experimental studies and the results show that the two interactive approaches are quite effective compared with existing fault-localization approaches. Moreover, the robust approach can help developers find faults when they make wrong estimation at some checking points.