Software Testing

Exercise Question, (8) From Failures to Faults

Explain in your own words the different fault localization methods that were introduced in the lecture.

  • Fault localization with program/hit spectra
    • Check how often each block of the program is visited by passing and failing test cases
    • Use similarity metrics to create a ranked list of similar blocks
    • But which metric to use?
  • Fault localization based on code metrics
    • Do certain code properties affect software failures (e.g. code complexity, problem domain, etc.)?
    • Case study reveals significant correlation between complexity metrics and post-release defects
    • But, different metrics correlate for each project
  • Fault localization based on code churn
    • Is the amount of change in a module an indicator for its error-proneness?
    • Promising results for single projects, but further research needs to be done

Diskussion