• DocumentCode
    886984
  • Title

    Technology for testing nondeterministic client/server database applications

  • Author

    Hwang, Gwan-Hwan ; Chang, Sheng-Jen ; Chu, Huey-Der

  • Author_Institution
    Dept. of Inf. & Comput. Educ., Nat. Taiwan Normal Univ., Taipei, Taiwan
  • Volume
    30
  • Issue
    1
  • fYear
    2004
  • Firstpage
    59
  • Lastpage
    77
  • Abstract
    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.
  • Keywords
    client-server systems; distributed databases; formal verification; parallel programming; program testing; reachability analysis; T-events; T-sequence; client-server database; concurrent programming; database management system; database transaction event; reachability testing; transaction sequence; Algorithm design and analysis; Change detection algorithms; Data structures; Database systems; Monitoring; Performance evaluation; Prototypes; Relational databases; System testing; Transaction databases;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2004.1265736
  • Filename
    1265736