没有合适的资源?快使用搜索试试~ 我知道了~
Testing database transaction concurrency
需积分: 0 17 下载量 121 浏览量
2007-09-03
13:07:41
上传
评论
收藏 308KB PDF 举报
温馨提示
试读
10页
Test DataBase 方法
资源详情
资源评论
资源推荐
Testing Database Transaction Concurrency
1
Yuetang Deng Phyllis Frankl Zhongqiang Chen
Department of Computer and Information Science
Polytechnic University
Brooklyn, NY 11201 USA
{ytdeng, phyllis, zchen}@cis.poly.edu
1
Supported in part by NSF grant CCR-9988354
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.
1. Introduction
Database and transaction processing systems occupy a
central position in our information-based society. It is
essential that these systems function correctly and provide
acceptable performance. Substantial effort has been
devoted to insuring that the algorithms and data structures
used by Database Management Systems (DBMSs) work
efficiently and protect the integrity of the data. However,
relatively little attention has been given to developing
systematic techniques for assuring the correctness of the
related database application programs. Given the critical
role these systems play in modern society, there is clearly
a need for new approaches to assess the quality of the
database application programs.
To address this need, we have developed a systematic,
partially-automatable approach and a tool set based on
this approach to testing database applications [4,5,6]
Initially, we focused on problems associated with
individual queries. In [8] we explore problems dealing
with transactions, comprising groups of related queries.
This paper focuses on concurrency problems associated
with multiple simultaneously running instances of an
application program.
Many database applications are designed to support
concurrent users. For example, in an airline reservation
system, many clients can simultaneously purchase tickets.
To avoid simultaneous updates of the same data item and
other potential concurrency problems, database
applications employ program units called transactions,
consisting of a group of queries that access, and possibly
update, data items. The DBMS schedules query
executions so as to insure data integrity at transaction
boundaries while trying to utilize resources efficiently.
Although the DBMS employs sophisticated
mechanisms to assure that transactions satisfy the ACID
properties – Atomicity, Consistency, Isolation, and
Durability – an application can still have concurrency-
related faults if the application programmer erroneously
placed queries in separate transactions when they should
have been executed as a unit. The focus of this paper is
on detecting faults of this nature.
The rest of the paper is organized as follows. Section 2
introduces the background, including the AGENDA tool
set for database application testing. Section 3 identifies
some typical transaction concurrency problems. Our
approach to test for concurrency problems is presented in
Section 4. Section 5 discusses the problems with
transaction atomicity/durability in database applications
and our solution. Section 6 presents preliminary empirical
evaluation. Section 7 describes the related work. Section
8 concludes with our contributions and discusses future
work.
2. Background
2.1. Database Transaction
A transaction is a means by which an application
programmer can package together a sequence of database
operations so that the database system can provide a
number of guarantees, known as the ACID properties of a
Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE’03)
1527-1366/03 $ 17.00 © 2003 IEEE
mouse_0577
- 粉丝: 0
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于opencv的人脸识别考勤系统python源码+数据.zip
- IOT安装包 iotech-iot-1.5-dev-1.5.0-amd64.deb
- 基于物品的协同过滤算法(推荐视频)工具类(见仁见智)
- 21信管2班 武学芹组+独立样本T检验数据分析案例.zip
- demo_ccms_global_open_wlan.py
- 小程序项目源码-小契约(交友互动小程序).zip
- 小程序项目源码-健身房预约课程小程序.zip
- 小程序项目源码-wechat-app-xiaoyima-master小程序.zip
- 小程序项目源码-滑动选项卡小程序.zip
- 小程序项目源码-学习Demo影视推荐、音乐播放、地图小程序.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0