Title: Analyze Concurrency Issues In Database Applications

Abstract:

Database applications (DBA) are programs that contain queries access database(s), and are often designed to be executed concurrently by many clients. Related queries can be grouped together to form transactions so the Database Management System (DBMS) can guarantee that each transaction satisfies the well-known ACID properties: Atomicity, Consistency, Isolation and Durability. DBMS systems allow transactions to run at four isolation levels from least stringent (highest concurrency) to most stringent (lowest concurrency). However, concurrency-related faults that are hard to detect could happen even at the most stringent isolation level, if the DBA programmer erroneously placed queries in separate transactions when they should have been executed in a unit. We show how to analyze and reveal concurrency-related faults at different isolation levels in a DBA.