Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Debugging, Testing, and Verification Presented by Chris Hundersmarck November 10, 2004 Dr. Bi’s SE516.

Similar presentations


Presentation on theme: "Software Debugging, Testing, and Verification Presented by Chris Hundersmarck November 10, 2004 Dr. Bi’s SE516."— Presentation transcript:

1 Software Debugging, Testing, and Verification Presented by Chris Hundersmarck November 10, 2004 Dr. Bi’s SE516

2 Software Debugging, Testing, and Verification Published in IBM Systems Journal Armonk: 2002 Vol. 41, Iss. 1; pg. 4-9 Written by B Hailpern and P Santhanam

3 A Problem Due to the informal nature of software development, the prevalent practices in the industry are still immature. Additionally, the tools that incorporate the more advanced aspects of this technology are not ready for large-scale commercial use.

4 Why are there major responsibilities on the areas of software debugging, testing, and verification? Complexity and scope of software has increased Advances in software engineering techniques has been only moderate at best. On average debugging, testing, and verification ranges from 50 to 75% of the total development cost

5 Additional reasons for major responsibilities on the areas of software debugging, testing, and verification. Increased complexity of products Shortened development cycles Higher customer expectations of quality

6 Debugging The purpose of debugging is to locate and fix the offending code responsible for a symptom violating a known specification. Debugging typically happens during three activities in software development – During the Coding Process – During the later stages of testing – In production or deployment

7 Help for Software Engineers in Debugging Integrated Development environments (IDES) Visualization of the necessary underlying programming constructs as a means to analyze a program Automating the debugging process.

8 Verification In order to verify the functional correctness of a program, one needs to capture the model of the behavior of the program in a formal language.

9 Other approaches to Verification (and the problems they create) Formalize only some properties Drawbacks: Simplification or abstraction may hide critical details. Use a proof system to automatically verify Drawbacks: Can it handle very complex logical analyses? Complex theorem proving systems require a high skill level and do not scale to large programs The human factor

10 Testing Typically, prior to coding the program, design reviews and code inspections are done as part of the static testing effort. Once the code is written, various other static analysis methods based on source code can be applied

11 Testing When do we stop testing? Test Automation Automation of test case design Regression testing

12 Major problems Testing and verification are always done in a context and rely on a base set of assumptions, assumptions which are often unstated and unmet. The three topics of debugging, testing, and verification are treated by different groups of experts.

13 A possible solution and a Quote Software Engineering: The Holistic Discipline.

14 In Conclusion Problems: Informal nature of Software Solution: Improvements in Debugging, Testing, and Verification View SE as a holistic discipline

15 Question, Comment, Suggestion Box.


Download ppt "Software Debugging, Testing, and Verification Presented by Chris Hundersmarck November 10, 2004 Dr. Bi’s SE516."

Similar presentations


Ads by Google