The final phase of UniVal, which we call the localization phase, involves employing the suspiciousness scores to assist developers in finding the cause or causes of failures observed when \(\cal P\)  was executed on the set of inputs \(\cal I\) . Traditionally, this is done by ranking statements in non-increasing order of their suspiciousness scores and then having developers inspect statements in that order [1]}. Although this is convenient for evaluating SFL techniques — and it is used for that purpose in this paper — it has been argued that this is a simplistic approach to fault localization [2]}, [3]}, which programmers are in many cases unlikely to follow (e.g., when many statements in a program get very high scores). We envision UniVal being used in combination with other sources of information, including developer knowledge and intuition, to effectively localize faults.
