|
ABSTRACT
We propose static program analysis techniques for identifying the impact of relational database schema changes upon object-oriented applications. We use dataflow analysis to extract all possible database interactions that an application may make. We then use this information to predict the effects of schema change. We evaluate our approach with a case-study of a commercially available content management system, where we investigated 62 versions of between 70k-127k LoC and a schema size of up to 101 tables and 568 stored procedures. We demonstrate that the program analysis must be more precise, in terms of context-sensitivity than related work. However, increasing the precision of this analysis increases the computational cost. We use program slicing to reduce the size of the program that needs to be analyzed. Using this approach, we are able to analyse the case study in under 2 minutes on a standard desktop machine, with no false negatives and a low level of false positives.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
|
| |
3
|
|
| |
4
|
|
 |
5
|
|
| |
6
|
F. Biscotti, C. Graham, and D. Sommer. Market Share: Database Management Systems Software, EMEA, 2005. Technical report, Gartner, June 2006.
|
| |
7
|
T.-H. Choi, O. Lee, H. Kim, and K.-G. Doh. A practical string analyzer by the widening approach. In N. Kobayashi, editor, APLAS, volume 4279 of LNCS, pages 374--388. Springer, 2006.
|
| |
8
|
A. S. Christensen, A. Møller, and M. I. Schwartzbach. Precise analysis of string expressions. In Proc. 10th International Static Analysis Symposium, SAS ?03, volume 2694 of LNCS, pages 1--18. Springer-Verlag, June 2003.
|
 |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
|
 |
13
|
|
 |
14
|
|
 |
15
|
|
| |
16
|
A. Karahasanovic. Supporting Application Consistency in Evolving Object-Oriented Systems by Impact Analysis and Visualisation. PhD thesis, University of Oslo, 2002.
|
| |
17
|
|
| |
18
|
O. Lhoták and L. Hendren. Context-sensitive points-to analysis: is it worth it? In A. Mycroft and A. Zeller, editors, 15th Int. Conference on Compiler Construction, volume 3923 of LNCS, pages 47--64, Vienna, 2006. Springer.
|
| |
19
|
|
| |
20
|
|
| |
21
|
Phoenix Framework. http://research.microsoft.com/phoenix, 2007.
|
| |
22
|
|
 |
23
|
Xiaoxia Ren , Fenil Shah , Frank Tip , Barbara G. Ryder , Ophelia Chesley, Chianti: a tool for change impact analysis of java programs, Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 24-28, 2004, Vancouver, BC, Canada
|
 |
24
|
Thomas Reps , Susan Horwitz , Mooly Sagiv , Genevieve Rosay, Speeding up slicing, Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering, p.11-20, December 06-09, 1994, New Orleans, Louisiana, United States
|
| |
25
|
B. Ryder. Dimensions of precision in reference analysis of object-oriented programming languages. Lecture Notes of Computer Science, 137:126--137, 2003.
|
| |
26
|
|
| |
27
|
D. I. Sjoberg. Quantifying schema evolution. IST, 35(1):35--44, 1993.
|
| |
28
|
|
 |
29
|
|
| |
30
|
K. Wong. Rigi Users?s manual, Version 5.4.4. Technical report, University of Victoria, Dept of Computer Science, ftp://ftp.rigi.csc.uvic.ca/pub/rigi/doc, 1998.
|
|