Andreas Zeller
About the Course
2
Course Topics
- Tracking and Reproducing Problems
- The Scientific Method
- Making Programs Fail
- Isolating Failure Causes (automatically)
- Locating and Fixing Defects
“Why does my Program Fail?”
3
Four Projects Simplifying Comparing Locating Input Coverage - - PDF document
About the Course Andreas Zeller 1 Course Topics Tracking and Reproducing Problems The Scientific Method Making Programs Fail Isolating Failure Causes (automatically) Locating and Fixing Defects Why does my Program Fail?
2
3
4
5
6
7
3 weeks
3 weeks
4 weeks
8
<SELECT NAME="op_sys" MULTIPLE SIZE=7> <OPTION VALUE="All">All<OPTION VALUE="Windows 3.1">Windows 3.1<OPTION VALUE="Windows 95">Windows 95<OPTION VALUE="Windows 98">Windows 98<OPTION VALUE="Windows ME">Windows ME<OPTION VALUE="Windows 2000">Windows 2000<OPTION VALUE="Windows NT">Windows NT<OPTION VALUE="Mac System 7">Mac System 7<OPTION VALUE="Mac System 7.5">Mac System 7.5<OPTION VALUE="Mac System 7.6.1">Mac System 7.6.1<OPTION VALUE="Mac System 8.0">Mac System 8.0<OPTION VALUE="Mac System 8.5">Mac System 8.5<OPTION VALUE="Mac System 8.6">Mac System 8.6<OPTION VALUE="Mac System 9.x">Mac System 9.x<OPTION VALUE="MacOS X">MacOS X<OPTION VALUE="Linux">Linux<OPTION VALUE="BSDI">BSDI<OPTION VALUE="FreeBSD">FreeBSD<OPTION VALUE="NetBSD">NetBSD<OPTION VALUE="OpenBSD">OpenBSD<OPTION VALUE="AIX">AIX<OPTION VALUE="BeOS">BeOS<OPTION VALUE="HP-UX">HP-UX<OPTION VALUE="IRIX">IRIX<OPTION VALUE="Neutrino">Neutrino<OPTION VALUE="OpenVMS">OpenVMS<OPTION VALUE="OS/2">OS/2<OPTION VALUE="OSF/ 1">OSF/1<OPTION VALUE="Solaris">Solaris<OPTION VALUE="SunOS">SunOS<OPTION VALUE="other">other</SELECT> </td> <td align=left valign=top> <SELECT NAME="priority" MULTIPLE SIZE=7> <OPTION VALUE="--">--<OPTION VALUE="P1">P1<OPTION VALUE="P2">P2<OPTION VALUE="P3">P3<OPTION VALUE="P4">P4<OPTION VALUE="P5">P5</SELECT>
9
if (GET_CODE (XEXP (x, 0)) == PLUS { x = apply_distributive_law (gen_binary (PLUS, mode, gen_binary (MULT, mode, XEXP (XEXP (x, 0), 0), XEXP (x, 1)), gen_binary (MULT, mode, XEXP (XEXP (x, 0), 1), XEXP (x, 1)))); if (GET_CODE (x) != MULT) return x; }
10
11
50% 15% 15% 10% 10%
Project 1 Project 2 Project 3 Project 4 Oral Exam
12
13 14
Andreas ZellerAbout the Course
Andreas ZellerTracking Problems
Andreas ZellerMaking Programs Fail
Andreas ZellerSimplifying Problems
Andreas ZellerThe Scientific Method
Andreas ZellerDeducing Errors
Andreas ZellerReproducing Problems
Andreas ZellerObserving Facts
Andreas ZellerTracking Origins
Andreas ZellerAsserting Expectations
Andreas ZellerSystem Assertions
Andreas ZellerComparing Coverage
Andreas ZellerCauses and Eects
Andreas ZellerIsolating Failure Causes
Andreas ZellerIsolating Cause-EectChains
Andreas ZellerLocating Failure Causes
Andreas ZellerHow Failures Come to be
Andreas ZellerDetecting Anomalies
Andreas ZellerFixing the Defect
15 This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0