Publication | Closed Access
Technology for testing nondeterministic client/server database applications
10
Citations
17
References
2004
Year
EngineeringVerificationSoftware EngineeringConcurrency ControlSoftware AnalysisFormal VerificationSoftware Performance TestingRace ConditionsData ManagementRuntime VerificationSystem TestingConcurrent ProgrammingComputer EngineeringComputer ScienceTest FrameworkData SecurityProgram AnalysisSoftware TestingConcurrency TheoryFormal MethodsConcurrent Data StructureDatabase Transaction EventsDatabase AccessSystem Software
The execution of a client/server application involving database access requires a sequence of database transaction events (or, T-events), called a transaction sequence (or, T-sequence). A client/server database application may have nondeterministic behavior in that multiple executions thereof with the same input may produce different T-sequences. We present a framework for testing all possible T-sequences of a client/server database application. We first show how to define a T-sequence in order to provide sufficient information to detect race conditions between T-events. Second, we design algorithms to change the outcomes of race conditions in order to derive race variants, which are prefixes of other T-sequences. Third, we develop a prefix-based replay technique for race variants derived from T-sequences. We prove that our framework can derive all the possible T-sequences in cases where every execution of the application terminates. A formal proof and an analysis of the proposed framework are given. We describe a prototype implementation of the framework and present experimental results obtained from it.
| Year | Citations | |
|---|---|---|
Page 1
Page 1