This paper presents a new fault-localization technique designed for applications that interact with a relational database. The technique uses dynamic information specific to the application’s database, such as Structured Query Language (SQL) commands, to provide a fault-location diagnosis. By creating statement-SQL tuples and calculating their suspiciousness, the presented method lets the developer identify the database commands and the program statements likely to cause the failures. The technique also calculates suspiciousness for statement-attribute tuples and uses this information to identify SQL fragments that are statistically likely to be responsible for the suspiciousness of that SQL command. The paper reports the results of two empirical studies. The first study compares existing and database-aware fault-localization methods, and reveals the strengths and limitations of prior techniques, while also highlighting the effectiveness of the new approach. The second study demonstrates the benefits of using database information to improve understanding and reduce manual debugging effort.
Clark, S. R., Cobb, J., Kapfhammer, G. M., Jones, J. A., & Harrold, M. J. (2011). Localizing SQL faults in database applications. In Proceedings of the 26th International Conference on Automated Software Engineering.
Want to cite this paper? Look in the BiBTeX file of gkapfham/research-bibliography for the key "Clark2011".