Localizing SQL faults in database applications
database testing
empirical study
fault localization
Proceedings of the 26th International Conference on Automated Software Engineering
Abstract
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.Details
Presentation
Reference
@inproceedings{Clark2011,
author = {Sarah R. Clark and Jake Cobb and Gregory M. Kapfhammer and James A.
Jones and Mary Jean Harrold},booktitle = {Proceedings of the 26th International Conference on Automated
Software Engineering},title = {Localizing SQL faults in database applications},
year = {2011}
}