Predicate Complete Testing* - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Predicate Complete Testing*

Description:

Every control path is executed by the test set. Predicate ... Does PCT actually produce tests? Using Boolean Programs ... graph. Test Generation. Discussion ... – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 14
Provided by: csU2
Category:

less

Transcript and Presenter's Notes

Title: Predicate Complete Testing*


1
Predicate Complete Testing
  • Thomas Ball
  • Thomas Ball, A Theory of Predicate-Complete
    Test Coverage and Generation, Technical Report
    MSR-TR-2004-28, Microsoft Research

2
Testing Definitions
  • Statement
  • Every statement is executed by the test set
  • Path
  • Every control path is executed by the test set
  • Predicate
  • Every logical predicate is executed by the test
    set
  • Complete
  • Some notion that the test set is exhaustive

3
Theoretical Goals
  • Control Flow metrics
  • Statement, branch, multiple condition, predicate,
    path, linear code sequence and jump
  • Predicate Complete Testing
  • Cover all reachable observable states
  • Bound the number tests
  • Know when to stop (when do we have a complete
    test set)
  • Does PCT actually produce tests?

4
Using Boolean Programs
  • Recall that BP transforms the original program
    into a program of its Boolean predicates
  • A BP state is some Boolean assignment of all
    predicates
  • The BP state space is finite (lt m2n)
  • Some BP states are observable
  • Some BP states are reachable

5
Boolean Program
6
Reachable States
7
Reachability Graph
8
Formalizing the state abstraction
9
Boolean Program II
10
Upper and Lower bounds for R
  • R set of reachable states
  • U upper bound for R via may-transitions
  • Lp pessimistic lower bound for R via must
    transitions, a may transition, and must-
    transitions
  • Lo optimistic lower bound for R, with the
    assumption that the program does not diverge

11
Algorithm
  • Using algorithms for computing L and U, LU
    gt the abstraction accurately encodes all the
    paths of R.
  • Generate all paths for L in the graph

12
Test Generation
13
Discussion
Write a Comment
User Comments (0)
About PowerShow.com