Communications of the ACM
DDD—a free graphical front-end for UNIX debuggers
ACM SIGPLAN Notices
Yesterday, my program worked. Today, it does not. Why?
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Programmers use slices when debugging
Communications of the ACM
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Isolating failure-inducing thread schedules
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
Algorithmic program debugging
Cost effective dynamic program slicing
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Scalable statistical bug isolation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
Automatically finding patches using genetic programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Fault localization and repair for Java runtime exceptions
Proceedings of the eighteenth international symposium on Software testing and analysis
Generating Fixes from Object Behavior Anomalies
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Can we certify systems for freedom from malware
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Hi-index | 0.00 |
Imagine some program and a number of changes. If none of these changes is applied ("yesterday"), the program works. If all changes are applied ("today"), the program does not work. Which change is responsible for the failure? This is how the abstract of the paper "Yesterday, my program worked. Today, it does not. Why?" started; a paper which, originally published at ESEC/FSE 1999 [12], introduced the concept of delta debugging, one of the most popular automated debugging techniques. This year, this paper receives the ACM SIGSOFT Impact Paper Award, recognizing its influence in the past ten years. In my keynote, I review the state of debugging then and now, share how it can be hard to be simple, what programmers really need, and what research should do (and should not do) to explore these needs and cater to them.