Dynamically testing software that has been augmented with assertions
increases the defect observability of the test cases (provided that
the assertions are reached during testing). This report presents an
approach and tool for assertion localization that is based on finding
regions of the code that appear to be untestable, and then making them
more testable. In our model, assertion localization is accomplished
by using dynamic testability analysis. Our testability analysis is
implemented using fault injection, and it suggests where faults can hide
during testing. This report also explores the phenomenon where
assertions that were designed to boost the fault observability
provided by test scheme D also boost the fault observability
afforded by a different testing scheme,
. This
phenomenon demonstrates a
unique and cost-effective benefit of assertions not before exploited,
and lays forth a new avenue for finding higher return-on-investment
testing techniques.