substitution analysis