![]() |
![]() |
TR-CIS-2003-03 (10/20/2003)
Yuetang Deng, Phyllis Frankl, Zhongqiang Chen
Abstract
Database application programs are often designed to
be executed concurrently by many users. By grouping
related database queries into transactions, DBMS
systems can guarantee that each transaction satisfies the
well-known ACID properties: Atomicity, Consistency,
Isolation, and Durability. However, if a database
application is decomposed into transactions in an
incorrect manner, the application may fail when executed
concurrently due to potential offline concurrency
problems.
This paper presents a dataflow analysis technique for
identifying schedules of transaction execution aimed at
revealing concurrency faults of this nature, along with
techniques for controlling the DBMS or the application
so that execution of transaction sequences follows
generated schedules. The techniques have been integrated
into AGENDA, a tool set for testing relational database
application programs. Preliminary empirical evaluation
is presented.