Dynamic Analysis of SQL Statements in Data-intensive Programs
نویسندگان
چکیده
SQL statements control the bi-directional data flow between application programs and a database through a high-level, declarative and semantically rich data manipulation language. Analyzing these statements brings invaluable information that can be used in such applications as program understanding, database reverse engineering, intrusion detection, program behaviour analysis, program refactoring, traffic monitoring, performance analysis and tuning, to mention some of them. SQL APIs come in two variants, namely static and dynamic. While static SQL statements are fairly easy to process, dynamic SQL statements most often require dynamic analysis techniques that may prove more difficult to implement. The goal of the paper is to identify and evaluate the most effective techniques for dynamic SQL statement analysis in data-intensive application programs. First, it describes the SQL API variants from the program architecture point of view. Then, it discusses some of the most important software engineering applications to which SQL statement understanding can be a significant contribution. A large range of analysis and processing techniques are proposed and the properties of each of them are evaluated. Finally, the applicability of these techniques to the software engineering applications is established. Two practical applications are presented and
منابع مشابه
The effectiveness of intensive short-term dynamic psychotherapy on difficulties in emotion regulation in non-suicidal self-injurious people
Objectives: Research evidence suggests that emotion regulation is impaired in individuals with non-suicidal self-injurious. the aim of this study was to investigate the effectiveness of intensive short-term dynamic psychotherapy on emotion regulation in non-suicidal self-injurious people. Method: The study design was a single-case multiple-baselines. five (two male and tree females) were selec...
متن کاملTitle Fault - based testing of database application programs withconceptual data model
Database application programs typically contain program units that use SQL statements to manipulate records in database instances. Testing the correctness of data manipulation by these programs is challenging. When a tester provides a database instance to test such a program, the program unit may output faulty SQL statements and, hence, manipulate inappropriate database records. Nonetheless, th...
متن کاملTesting Database Programs using Relational Symbolic Execution
Symbolic execution is a technique which allows to automatically generate test inputs (and outputs) exercising a set of execution paths within a program to be tested. If the paths cover a sufficient part of the code under test, the test data offer a representative view of the program’s actual behaviour, allowing to detect failures and correct faults. Relational databases are ubiquitous in softwa...
متن کاملA Typeful Integration of SQL into Curry
We present an extension of the declarative programming language Curry to support the access to data stored in relational databases via SQL. Since Curry is statically typed, our emphasis on this SQL integration is on type safety. Our extension respects the type system of Curry so that run-time errors due to ill-typed data are avoided. This is obtained by preprocessing SQL statements at compile t...
متن کاملThe Effectiveness of Intensive Short-Term Dynamic Psychotherapy on Self-Differentiation and Attachment Behavior in Couple Relationships in Women with Tendency to Marital Infidelity
Introduction: Marital infidelity is a source of intense distress for personal and interpersonal couples life and destroyer their relationship. The purpose of this study was to effectiveness of intensive short-term dynamic psychotherapy on self-differentiation and attachment behavior in couple relationships in women with tendency to marital infidelity. Method: This semi-experimental study was c...
متن کامل