Developers using the SQL language lack relational SQL debugging tools. SQL also suffers from a lack of sufficient automated frameworks for unit testing and regression testing of queries. This thesis begins with an SQL bug taxonomy. The focus is on Core SQL as defined in the SQL:1999 standard. Features in Core SQL remain virtually unchanged through the latest standard, SQL:2011. Our bug taxonomy illustrates common coding defects related to NULL, LEFT JOIN, selectivity assumptions, and ordering assumptions. We highlight ways that silent failures can impact a databasedependent application. Our proposal for addressing SQL development errors is a verification tool (named POQ) that leverages annotated postconditions attached to each query statement. The formalism of domain relational calculus is the basis for axiomatizing queries. Subsequently, a theorem prover searches for counterexamples that demonstrate when the postcondition fails. Alternative projects using SMT solvers and static analysis methods are also discussed.
|Commitee:||Ebert, Todd, Englert, Burkhard, Monge, Alvaro|
|School:||California State University, Long Beach|
|School Location:||United States -- California|
|Source:||MAI 52/03M(E), Masters Abstracts International|
|Keywords:||Formal verification, Post conditions, Relational data, SQL bug taxonomy, SQL code defect, SQL language|
Copyright in each Dissertation and Thesis is retained by the author. All Rights Reserved
The supplemental file or files you are about to download were provided to ProQuest by the author as part of a
dissertation or thesis. The supplemental files are provided "AS IS" without warranty. ProQuest is not responsible for the
content, format or impact on the supplemental file(s) on our system. in some cases, the file type may be unknown or
may be a .exe file. We recommend caution as you open such files.
Copyright of the original materials contained in the supplemental file is retained by the author and your access to the
supplemental files is subject to the ProQuest Terms and Conditions of use.
Depending on the size of the file(s) you are downloading, the system may take some time to download them. Please be