# SWE 437 In Class Exercise # 21 Logic Coverage

Names:
Instructions: Work with your neighbors in groups. This is logic coverage exercise. Consider the following predicates:
```    a || b && c
good && fast || good && cheap || fast && cheap
(a == b) || c    // homework 11 predicate!
```
Identify the circumstances under which each clause determines the value of the predicate. For practice, we'll work through all the following methods. At quiz/exam time, you should use the method that you are most comfortable with.
• Direct observation. (Works great on easy predicates!)
• Analysis of the truth table (the "pairs" approach).
• K-maps. (Ignore this if you haven't seen K-maps)
• Direct computation (boolean calculus)
Next, compute all pairs of inputs that satisfy the three ACC flavors (GACC, CACC, and RACC) for each clause in each predicate.

The recommended method of computation is as follows (assuming clause of interest is "a").

```GACC(1) : Pa = T; a = T
GACC(2) : Pa = T; a = F

CACC:  Same as GACC, with additional constraint that predicate
differs between the two inputs.

RACC:  Sams as GACC, with the additional constraint that
minor clauses are the same on the two inputs.
(Note that this implies the CACC constraint that the predicate
differs.)

```
Write out the truth table, and identify rows (and then pairs of rows) that satisfy the various constraints. Use the same numbering on the truth table as the online tool uses.