Database application constitutes one of the largest and most important software domains in the world. Some classes or modules in such applications are responsible for database operations. Structured Query Language (SQL) is used to communicate with database middleware in these classes or modules. It can be issued interactively or embedded in a host language. This paper aims to predict the software development faults in PLlSQL files using SQL metrics. Based on actual project defect data, the SQL metrics are empirically validated by analyzing their relationship with the probability of fault detection across PLlSQL files. SQL metrics were extracted from Oracle PLlSQL code of a warehouse management database application system. The faults were collected from the journal files that contain the documentation of all changes in source files. The result demonstrates that these measures may be useful in predicting the fault concerning with database accesses. In our study, General Regression Neural Network and Ward Neural Network are used to evaluate the capability of this set of SQL metrics in predicting the number of faults in database applications.
SQL For Oracle
Introduction
Software metrics have been used as a quantitative means of assessing software development process as well as the quality of software products. Many researchers have studied the correlation between software design metrics and the likelihood of occurrence of software faults. They classified the software modules (or classes) as not fault-prone or fault-prone modules (or classes) and predicted the number of faults in modules (or classes) using various software metrics.
Although database applications are essential to every organization, studies on product measures for static database operation statements are rarely found in literature. SQL is the standard language for relational database management systems. The relationship between the fault occurrence for database applications and SQL metrics is studied in this paper. We defined SQL metrics that have strong relationship with faults and then performed empirical validation for these metrics.
In our study, we analyzed the fault reports of development projects involving database applications using PLlSQL code and found that faults are related to the number of SQL statements and the complexity of SQL statements. SQL commands are mainly composed in the PLlSQL files to perform database operations. SQL complexity can be measured using product metrics such as the number of table names in from-clauses: the number of join-queries criteria in where-clauses.
A variety of statistical techniques are used in software quality modeling. Models are often based on statistical relationships between measures of quality and measures of software metrics. However, relationships between static software metrics and quality factors are often complex and nonlinear, limiting the accuracy of conventional approaches. Artificial neural networks are adopt at modeling nonlinear functional relationships that are difficult to model with other techniques, and thus, are attractive for software quality modeling. In our previous studies, we predicted software development faults using Object-Oriented Design Metrics and neural network [16, 20]. In these studies, we found that neural network models had better predict accuracy than regression ...