160 likes | 480 Views
Debugging. By: Issam Benstitou Khouloud Mrabet Samir NAQOS supervised by Dr Kettani D. Outline. Introduction Debugging: Definition What causes debugging ? A formal approche to debugging. Debugging in the life cycle. The debugging process. Debugging Approaches Conclusion.
E N D
Debugging By: Issam Benstitou Khouloud Mrabet Samir NAQOS supervised by Dr Kettani D.
Outline • Introduction • Debugging: Definition • What causes debugging ? • A formal approche to debugging. • Debugging in the life cycle. • The debugging process. • Debugging Approaches • Conclusion.
Introduction • Team presentation • Context presentation
Debugging • Definition: • Pressman • Jazayri et al
What causes debugging ? • Software Faults: • Is an erroneous portion of a software system which may cause failures to occurs if it is run in a particular state, or with particular inputs. • Software Failures • is an execution event where the software behaves in an unexpected or undesirable way.
What causes debugging ? (cont.) Defect (bug): Each occurrence of the program design or the program code that fails to meet a specification.
Debugging: A formal Approache • Debugging, testing and verification • Formal Definition of: • Debugging • Testing • verification
Debugging Process Two possible outcomes: -The cause will be found -The cause will not be found
Characteristics of Bugs that provide some hints • - The symptom and the cause may be • Geographicall isolated • The symptom may disappear when another • Error is corrected • -The symptom may be caused by nonerrors
Characteristics of Bugs that provide some hints -It may be caused by human errors -The symptom may be a result of timing problemsrather than processing problems. - -It may be difficult to accuratelyreproduce input conditions.
Debugging Approches • Bradley description: … The basis of debugging is to locate the problem’s source by binary partitioning, through working hypotheses that predict new values to be examined.
DebuggingApproaches • The Brute Force • Bracktracking • Cause Elimination
Debugging Approaches • Is the cause of the bug reproduced in another part of the program? • What next bug might be reproduced by the fix I am about to make? • What could we have done to prevent this bug in the first place?
Conclusion • Shneiderman states: “…Debugging is one of the more frustrating parts of programming. It has elements of problem solving or brain teasers, coupled with the annoying recognition that you have made a mistake…”