Four Projects Simplifying Comparing Locating Input Coverage - - PDF document

four projects
SMART_READER_LITE
LIVE PREVIEW

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?


slide-1
SLIDE 1

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

Your Lecturer

Andreas Zeller

1 2 3

slide-2
SLIDE 2

4

Your Tutor

Andrzej Wasylkowski

5

Course Material

  • Book “Why programs fail”

http://www.whyprogramsfail.com/

  • Lecture slides, dates, links…

http://www.st.cs.uni-sb.de/edu/ adebug/2008/

6

Course Format

  • 15 lectures
  • Four projects (“write your own debugger”)
  • Oral exams at end of semester

4 5 6

slide-3
SLIDE 3

7

Four Projects

Simplifying Input

3 weeks

Comparing Coverage

3 weeks

Locating Causes

4 weeks

(plus 1 more) written in Python for Python

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>

Simplifying Input

What’s relevant in here?

9

Comparing Coverage

sample 9 8 7 $ Output: 7 8 9 sample 11 14 $ Output: 0 11 How do these runs differ?

7 8 9

slide-4
SLIDE 4

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

Locating Causes

What causes the failure?

11

Grading

50% 15% 15% 10% 10%

Project 1 Project 2 Project 3 Project 4 Oral Exam

Assessment

12

10 11 12

slide-5
SLIDE 5

Exam

13 14

Andreas Zeller

About the Course

Andreas Zeller

Tracking Problems

Andreas Zeller

Making Programs Fail

Andreas Zeller

Simplifying Problems

Andreas Zeller

The Scientific Method

Andreas Zeller

Deducing Errors

Andreas Zeller

Reproducing Problems

Andreas Zeller

Observing Facts

Andreas Zeller

Tracking Origins

Andreas Zeller

Asserting Expectations

Andreas Zeller

System Assertions

Andreas Zeller

Comparing Coverage

Andreas Zeller

Causes and Eects

Andreas Zeller

Isolating Failure Causes

Andreas Zeller

Isolating Cause-EectChains

Andreas Zeller

Locating Failure Causes

Andreas Zeller

How Failures Come to be

Andreas Zeller

Detecting Anomalies

Andreas Zeller

Fixing 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

  • r send a letter to Creative Commons, 559 Abbott Way, Stanford, California 94305, USA.

13 14 15