Browse > Article

Automatic Verification and Tuning of Transaction-based Database Applications  

Kang Hyun-Goo (한국과학기술원 전산과)
Yi Kwangkeun (서울대학교 컴퓨터공학부)
Abstract
In this paper, we suggest a system which automatically verifies and tunes transaction processing database applications based on program analysis technology. This system automatically verifies two kinds of transaction processing errors. The first case is the un-closed transaction. In this case, data is not updated as expected or performance of overall system can decrease seriously by locking some database tables until the process terminates. The second case is the miss-use of transaction isolation(inking) level. This causes runtime exception or abnormal termination of the program depending on runtime environment. This system automatically tunes two kinds of inefficient definition of transaction processing which decrease the performance of overall system. The first case happens when opened transaction is closed too late. And the second case happens when transaction isolation level is set too high.
Keywords
Database Transaction; Database Application Tuning; Program Analysis; Verification;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Thomas Ball and Sriram K. Rajamani, 'The SLAM Project: Debugging System Software via Static Analysis,' In Symposium on Principles of Programming Languages 2002(POPL2002), pages 1-3, 2002
2 James Corbett, Matthew Dwyer, John Hatcliff, Corina Pasareanu, Robby, Shawn Laubach and Hongjun Zheng, 'Bandera: Extracting Finite-state Models from Java Source Code,' In Proceedings of the 22nd International Conference on Software Engineering, pages 439-448, 2000   DOI
3 D. Engler, B. Chelf, A. Chou, and S. Hallem, 'Checking system rules using system-specific, programmer-written compiler extensions,' In Symposium on Operating Systems Design and Implementation(OSDI2000), Oct. 2000
4 Steven S. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997
5 Robert DeLine and Manuel Fandrich, 'Enforcing High-Level Protocols in Low-Level Software,' In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation(PLDI 2001), pages 59-69, 2001   DOI
6 Atsushi Igarashi and Naoki Kobayashi, 'Resource Usage Analysis,' In Proceedings of Symposium on Principles of Programming Languages, pages 331-342, 2002   DOI
7 Naoki Kobayashi, 'Time Regions and Effects for Resouce Usage Analysis,' In Proceedings of ACM SIGPLAN Workshop on Types in Language Design and Implementation, pages 50-61, 2003   DOI
8 Cosimo Laneve. A Type System for JVM Threads. Theoretical Computer Science, Vol. 290, pages 741-778, 2003   DOI   ScienceOn
9 Patrick Lincoln and John C.Mitchell, 'Algorithmic aspects of type inference with subtypes,' In 19th ACM Symposium on Principles of Programming Languages, pages 193-304, 1992   DOI
10 Philip A. Bernstein and Eric Newcomer, Principles of Transaction Processing, Morgan Kaufmann Publishers, 1997
11 Harvey W. Gunther, 'WehSphere Application Server Development Best Practices for Performance and Scalability,' IBM White Paper, 2000
12 Philippe Bonnet and Denis E. Shasha, Database Tuning: Principles, Experiments, and Troubleshooting Techniques, Morgan Kaufmann Publishers, 2002
13 Geoffrey S. Smith, 'Polymorphic Type Inference for Language with Overloading and Subtyping,' PhD thesis, Cornell University, August 1991
14 Andrew K. Wright and Matthias Felleisen, 'A syntactic approach to type soundness,' Technical report TR91-160, Rice University, 1992
15 Benjamin C. Pierce, Types and Programming Languages, Kluwer Acdemic Publisher, The MIT Press, 2002