What is a slice
slice - smallest subset of program that contains all statements that directly or indirctly influence the value or behaviour of a variable at a given point
Inverse denominator
IDen(n): nodes that appear on all paths from n to program termination.
Nearest inverse denominator
NIDen(n): the closest node to n among the nodes that appear on all paths from n to program termination.
Influenced
Nodes that appear on at least one path from n to NIDen(n)
delta debugging
Start with a failing test case C.
Divide C into n parts
𝐶1,𝐶2,…,𝐶𝑛
If there exists a part Cᵢ such that C \ Cᵢ still fails, remove Cᵢ and repeat with C \ Cᵢ.
If no such part exists, increase n (use smaller parts) and repeat.
Stop when no part can be removed without losing the failure; the result is a minimal failing test case.
What is debugging
Debugging is the process of identifying, analyzing, and fixing defects or issues in a program.
Debugging Process (TRAFFIC Method):