Software Debugging, Testing, and Verification - PowerPoint PPT Presentation

About This Presentation
Title:

Software Debugging, Testing, and Verification

Description:

Due to the informal nature of software development, the ... Additionally, the tools that incorporate the more advanced ... environments (IDES) ... – PowerPoint PPT presentation

Number of Views:681
Avg rating:3.0/5.0
Slides: 16
Provided by: CFH2
Category:

less

Transcript and Presenter's Notes

Title: Software Debugging, Testing, and Verification


1
Software Debugging, Testing, and Verification
  • Presented by
  • Chris Hundersmarck
  • November 10, 2004
  • Dr. Bis 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.
Write a Comment
User Comments (0)
About PowerShow.com