|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
J.-D. Choi and A. Zeller. Isolating failure-inducing thread schedules. In ISSTA '02, pages 210--220, Rome, Italy, Aug. 2002.
|
| |
2
|
V. Dallmeier, A. Zeller, and B. Meyer. Generating fixes from object behavior anomalies. In ASE '09, 2009.
|
| |
3
|
J. A. Jones, M. J. Harrold, and J. Stasko. Visualization of test information to assist fault localization. In ICSE '02, pages 467--477, Orlando, Florida, May 2002.
|
| |
4
|
A. J. Ko and B. A. Myers. Debugging reinvented: asking and answering why and why not questions about program behavior. In ICSE '08, pages 301--310, New York, NY, USA, 2008. ACM.
|
| |
5
|
B. Lewis. Debugging backwards in time. In AADEBUG '03, Ghent, Belgium, Sept. 2003.
|
| |
6
|
B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan. Scalable statistical bug isolation. In PLDI '05, Chicago, Illinois, June 2005.
|
| |
7
|
H. Lieberman. The debugging scandal and what to do about it. Communications of the ACM, 40(4):26--29, Apr. 1997.
|
| |
8
|
E. Y. Shapiro. Algorithmic Program Debugging. PhD thesis, MIT Press, 1982.
|
| |
9
|
S. Sinha, H. Shah, C. Görg, S. Jiang, M. Kim, and M. J. Harrold. Fault localization and repair for java runtime exceptions. In ISSTA '09, pages 153--164, New York, NY, USA, 2009. ACM.
|
| |
10
|
W. Weimer, T. Nguyen, C. Le Goues, and S. Forrest. Automatically finding patches using genetic programming. In ICSE '09, pages 364--374, Washington, DC, USA, 2009. IEEE Computer Society.
|
| |
11
|
M. Weiser. Programmers use slices when debugging. Communications of the ACM, 25(7):446--452, 1982.
|
| |
12
|
A. Zeller. Yesterday, my program worked. Today, it does not. Why? In Proc. ESEC/FSE'99, pages 253--267, Toulouse, France, Sept. 1999. Springer-Verlag.
|
| |
13
|
A. Zeller. Isolating cause-effect chains from computer programs. In FSE '02, pages 1--10, Charleston, South Carolina, Nov. 2002. ACM Press.
|
| |
14
|
A. Zeller and R. Hildebrandt. Simplifying and isolating failure-inducing input. IEEE TSE, 28(2):183--200, Feb. 2002.
|
| |
15
|
A. Zeller and D. Lütkehaus. DDD - A free graphical front-end for UNIX debuggers. SIGPLAN Notices, 31(1):22--27, Jan. 1996.
|
| |
16
|
X. Zhang and R. Gupta. Cost effective dynamic program slicing. In PLDI '04, pages 94--106, Washington, DC, June 2004.
|
|