You may make a copy of a worksheet and complete this activity, or simply type your answers in any text editor.
You may work alone or with at most two other students in this course.
Work on at least two of the following predicates
(1) p = a XOR b (2) p = a!b + ac (3) p = a -> (b -> c)
Identify the circumstances under which each clause determines the value of the predicate. For practice, we will work through all the following methods.
p = a XOR b
= (a ∧ ¬b) ∨ (¬a ∧ b)
Pa = Pa=T ⊕ Pa=F
= (T ∧ ¬b) ∨ (¬T ∧ b) ⊕ (F ∧ ¬b) ∨ (¬F ∧ b)
= ¬b ∨ F ⊕ F ∨ b
= ¬b ⊕ b
= T (a always determines the predicates regardless of the truth value of b)
Pb = Pb=T ⊕ Pb=F
= (a ∧ ¬T) ∨ (¬a ∧ T) ⊕ (a ∧ ¬F) ∨ (¬a ∧ F)
= F ∨ ¬a ⊕ a ∨ F
= ¬a ⊕ a
= T (b always determines the predicates regardless of the truth value of a)
p = a!b + ac
= (a ∧ ¬b) ∨ (a ∧ c)
Pa = Pa=T ⊕ Pa=F
= (T ∧ ¬b) ∨ (T ∧ c) ⊕ (F ∧ ¬b) ∨ (F ∧ c)
= ¬b ∨ c ⊕ F ∨ F
= ¬b ∨ c ⊕ F
= ¬b ∨ c (a determines the predicates when b is false or c is true)
Pb = Pb=T ⊕ Pb=F
= (a ∧ ¬T) ∨ (a ∧ c) ⊕ (a ∧ ¬F) ∨ (a ∧ c)
= F ∨ (a ∧ c) ⊕ a ∨ (a ∧ c)
= (a ∧ c) ⊕ a ∨ (a ∧ c)
note: cannot make (a ∧ c) be T,
thus a ∨ (a ∧ c) must be T and (a ∧ c) must be F, a = T
= a ∧ ¬c (b determines the predicates when a is true and c is false)
Pc = Pc=T ⊕ Pc=F
= (a ∧ ¬b) ∨ (a ∧ T) ⊕ (a ∧ ¬b) ∨ (a ∧ F)
= (a ∧ ¬b) ∨ a ⊕ (a ∧ ¬b) ∨ F
= (a ∧ ¬b) ∨ a ⊕ (a ∧ ¬b)
note: cannot make (a ∧ ¬b) be T,
thus (a ∧ ¬b) must be F, a = T, and ¬b = F, therefore b = T
= a ∧ b (c determines the predicates when a is true and b is true)
p = a → (b → c)
= ¬a ∨ (b → c)
= ¬a ∨ (¬b ∨ c)
Pa = Pa=T ⊕ Pa=F
= ¬T ∨ (¬b ∨ c) ⊕ ¬F ∨ (¬b ∨ c)
= F ∨ (¬b ∨ c) ⊕ T ∨ (¬b ∨ c)
note: T ∨ (¬b ∨ c) will always be T
thus, F ∨ (¬b ∨ c) must be F, and therefore (¬b ∨ c) must be F
= ¬(¬ b ∨ c)
= b ∧ ¬c (a determines the predicates when b is true and c is false)
Pb = Pb=T ⊕ Pb=F
= ¬a ∨ (¬T ∨ c) ⊕ ¬a ∨ (¬F ∨ c)
= ¬a ∨ c ⊕ ¬a ∨ T
note: to make ¬a ∨ c be F, ¬a must be F and c must be F
= a ∧ ¬c (b determines the predicates when a is true and c is false)
Pc = Pc=T ⊕ Pc=F
= ¬a ∨ (¬b ∨ T) ⊕ ¬a ∨ (¬b ∨ F)
= ¬a ∨ T ⊕ ¬a ∨ ¬b
note: to make ¬a ∨ ¬b be F, ¬a must be F and ¬b must be F
= a ∧ b (c determines the predicates when a is true and b is true)
Next, compute all pairs of inputs that satisfy the three ACC interpretations (GACC: General Active Clause Coverage, RACC: Restricted Active Clause Coverage, and CACC: Correlated Active Clause Coverage) for each clause in the predicate.
The recommended method of computation is as follows (assuming clause of interest is "a").
GACC: Pa = T; a = T
Pa = T; a = F
RACC: same as GACC, with additional constraint that
predicate differs between the two inputs
and minor clauses are the same on the two inputs
CACC: Same as GACC, with additional constraint that
predicate differs between the two inputs
Remember to compute pairs of inputs for all the remaining clauses.
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.
GACC: Possible pairs of tests for each major clause a: (1,3), (1,4), (2,3), (2,4) b: (1,2), (1,4), (3,2), (3,4) Pick one pair of tests for each clause to form a minimal test set. Suppose we picked (2,3) and (3,2). Minimal test set that satisfies GACC: { 2,3 } RACC: Possible pairs of tests for each major clause a: (1,3), (2,4) b: (1,2), (3,4) Pick one pair of tests for each clause to form a minimal test set. Suppose we picked (1,3) and (1,2) Minimal test set that satisfies RACC: { 1,2,3 } CACC: Possible pairs of tests for each major clause a: (1,3), (2,4) b: (1,2), (3,4) Pick one pair of tests for each clause to form a minimal test set. Suppose we picked (1,3) and (1,2) Minimal test set that satisfies CACC: { 1,2,3 } Note: We don't have enough information to determine any infeasibility. Thus, assume all tests are feasible.
GACC: Possible pairs of tests for each major clause a: (1,5), (1,7), (1,8), (3,5), (3,7), (3,8), (4,5), (4,7), (4,8) b: (2,4) c: (1,2) Pick one pair of tests for each clause to form a minimal test set. Suppose we picked (1,5), (2,4), and (1,2). Minimal test set that satisfies GACC: { 1,2,4,5 } RACC: Possible pairs of tests for each major clause a: (1,5), (3,7), (4,8) b: (2,4) c: (1,2) Pick one pair of tests for each clause to form a minimal test set. Suppose we picked (1,5), (2,4), and (1,2). Minimal test set that satisfies RACC: { 1,2,4,5 } CACC: Possible pairs of tests for each major clause a: (1,5), (1,7), (1,8), (3,5), (3,7), (3,8), (4,5), (4,7), (4,8) b: (2,4) c: (1,2) Pick one pair of tests for each clause to form a minimal test set. Suppose we picked (1,5), (2,4), and (1,2). Minimal test set that satisfies CACC: { 1,2,4,5 } Note: We don't have enough information to determine any infeasibility. Thus, assume all tests are feasible.
GACC: Possible pairs of tests for each major clause a: (2,6) b: (2,4) c: (1,2) Pick one pair of tests for each clause to form a minimal test set. There is exactly one pair to pick for each clause. Minimal test set that satisfies GACC: { 1,2,4,6 } RACC: Possible pairs of tests for each major clause a: (2,6) b: (2,4) c: (1,2) Pick one pair of tests for each clause to form a minimal test set. There is exactly one pair to pick for each clause. Minimal test set that satisfies RACC: { 1,2,4,6 } CACC: Possible pairs of tests for each major clause a: (2,6) b: (2,4) c: (1,2) Pick one pair of tests for each clause to form a minimal test set. There is exactly one pair to pick for each clause. Minimal test set that satisfies CACC: { 1,2,4,6 } Note: We don't have enough information to determine any infeasibility. Thus, assume all tests are feasible.
(-2.5 points) for 24 hours late (submitted after 25-Oct-2025 11am EST, by 26-Oct-2025 11am EST)
(-5 points) for 48 hours late (submitted after 26-Oct-2025 11am EST, by 27-Oct-2025 11am EST)
Making your submission available to instructor and course staff is your responsibility; if we cannot access or open your file, you will not get credit. Be sure to test access to your file before the due date.
CC-BY-NC-SA 4.0 license.