Traditional Techniques for Software Fault Localization

Yihao Li, Linghuan Hu, W. Eric Wong, Vidroha Debroy, Dongcheng Li · 2023

This chapter focuses on the traditional and intuitive fault localization techniques, including program logging, assertions, breakpoints, and profiling. Program logging is both a common and an essential software development practice that is used to record vital information regarding a program's execution. Assertions are constraints added to a program that are required to be true during the correct operation of a program. Developers specify these assertions in the program code as conditional statements that will terminate execution if they evaluate to false. Breakpoints are used to pause the program when the execution reaches a specified point, to allow the user to examine the current state. Data breakpoints can be configured to trigger when the value changes for a specified expression. Profiling is used for performance optimization rather than fault localization. Many fault localization techniques use profiling to collect data for analysis.

Read the paper · More papers on PaperTik