|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| A. Zeller, R. Hildebrandt, "Simplifying and Isolating Failure-Inducing Input," IEEE Transactions on Software Engineering, vol. 28, no. 2, pp. 183-200, February, 2002. | |||
| BibTex | x | ||
| @article{ 10.1109/32.988498, author = {A. Zeller and R. Hildebrandt}, title = {Simplifying and Isolating Failure-Inducing Input}, journal ={IEEE Transactions on Software Engineering}, volume = {28}, number = {2}, issn = {0098-5589}, year = {2002}, pages = {183-200}, doi = {http://doi.ieeecomputersociety.org/10.1109/32.988498}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Software Engineering TI - Simplifying and Isolating Failure-Inducing Input IS - 2 SN - 0098-5589 SP183 EP200 EPD - 183-200 A1 - A. Zeller, A1 - R. Hildebrandt, PY - 2002 KW - Automated debugging KW - debugging aids KW - testing tools KW - combinatorial testing KW - diagnostics KW - tracing. VL - 28 JA - IEEE Transactions on Software Engineering ER - | |||
Given some test case, a program fails. Which circumstances of the test case are responsible for the particular failure? The Delta Debugging algorithm generalizes and simplifies the failing test case to a minimal test case that still produces the failure. It also isolates the difference between a passing and a failing test case. In a case study, the Mozilla web browser crashed after 95 user actions. Our prototype implementation automatically simplified the input to three relevant user actions. Likewise, it simplified 896 lines of HTML to the single line that caused the failure. The case study required 139 automated test runs or 35 minutes on a 500 MHz PC.
[1] “Mozilla web site,” http:/www.mozilla.org/, 2001.
[2] “Mozilla Web Site: The Gecko BugAThon,” http://www.mozilla.org/newlayoutbugathon.html , 2001.
[3] A. Zeller, “Yesterday, My Program Worked. Today, It Does Not. Why?” Proc. Seventh European Software Eng. Conf., Seventh ACM SIGSOFT Symp. Foundations of Software Eng., (ESEC/FSE '99), O. Nierstrasz and M. Lemoine, eds. vol. 1687, pp. 253-267, Sept. 1999.
[4] Test Methods for Measuring Conformance to POSIX. 1991, ANSI/IEEE Standard 1003.3-1991. ISO/IEC Standard 13210, 1994.
[5] M. Vertes, “Xlab—A Tool to Automate Graphical User Interfaces,” Linux Weekly News, May 1998, Archived ashttp://lwn.net/980528/axlab.html.
[6] B.P. Miller, L. Fredrikson, and B. So, "An Empirical Study of the Reliability of Unix Utilities," Comm. ACM, Dec. 1990, pp. 32-44.
[7] B.P. Miller, D. Koski, C.P. Lee, V. Maganty, R. Murthy, A. Natarajan, and J. Steidl, “Fuzz Revisited: A Re-examination of the Reliability ofUNIXUtilities and Services,” technical report, Univ. of Wisconsin, Computer Science Dept., Nov. 1995.
[8] D.R. Slutz, “Massive Stochastic Testing of SQL,” Proc. 24th Int'l Conf. Very Large Data Bases (VLDB '98), A. Gupta, O. Shmueli, and J. Widom, eds., pp. 618-622, Aug. 1998.
[9] D.B. Whalley, “Automatic Isolation of Compiler Errors,” ACM Trans. Programming Languages and Systems, vol. 16, no. 5, pp. 1648-1659, 1994.
[10] A. Zeller and G. Snelting, “Unified Versioning through Feature Logic,” ACM Trans. Software Eng. and Methodology, vol. 6, no. 4, pp. 398-441, Oct. 1997.
[11] M. Weiser, “Programmers Use Slices when Debugging,” Comm. ACM, vol. 25, no. 7, pp. 446-452, 1982.
[12] F. Tip, “A Survey of Program Slicing Techniques,” J. Programming Languages, vol. 3, no. 3, pp. 121-189, Sept. 1995.
[13] H. Agrawal and J.R. Horgan, "Dynamic Program Slicing," Proc. ACM SIGPLAN '90 Conf. Programming Language Design and Implementation, pp. 246-256, June 1990.
[14] T. Gyimóthy, Á. Beszédes, and I. Forgács, “An Efficient Relevant Slicing Method for Debugging,” Proc. Seventh European Software Eng. Conf., Seventh ACM SIGSOFT Symp. Foundations of Software Eng., (ESEC/FSE '99), O. Nierstrasz and M. Lemoine, eds. vol. 1687, pp. 303-321, Sept. 1999.

