Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Control-flow analysis of higher-order languages of taming lambda
Control-flow analysis of higher-order languages of taming lambda
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
A unified treatment of flow analysis in higher-order languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Demand interprocedural dataflow analysis
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Software engineering: theory and practice
Software engineering: theory and practice
How well do experienced software developers predict software change?
Journal of Systems and Software
Software Change Impact Analysis
Software Change Impact Analysis
Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture
Whole program Path-Based dynamic impact analysis
Proceedings of the 25th International Conference on Software Engineering
Slicing Objects Using System Dependence Graphs
ICSM '98 Proceedings of the International Conference on Software Maintenance
A Survey of Program Slicing Techniques.
A Survey of Program Slicing Techniques.
A family of test adequacy criteria for database-driven applications
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
ACM Transactions on Software Engineering and Methodology (TOSEM)
Static Checking of Dynamically Generated Queries in Database Applications
Proceedings of the 26th International Conference on Software Engineering
Chianti: a tool for change impact analysis of java programs
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Efficient Relational Calculation for Software Analysis
IEEE Transactions on Software Engineering
Refactoring Databases: Evolutionary Database Design
Refactoring Databases: Evolutionary Database Design
Extracting queries by static analysis of transparent persistence
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An empirical study of static program slice size
ACM Transactions on Software Engineering and Methodology (TOSEM)
Precise analysis of string expressions
SAS'03 Proceedings of the 10th international conference on Static analysis
Dimensions of precision in reference analysis of object-oriented programming languages
CC'03 Proceedings of the 12th international conference on Compiler construction
A practical string analyzer by the widening approach
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Context-Sensitive points-to analysis: is it worth it?
CC'06 Proceedings of the 15th international conference on Compiler Construction
Relationship-based change propagation: A case study
MISE '09 Proceedings of the 2009 ICSE Workshop on Modeling in Software Engineering
Toward Formal Semantics for Data and Schema Evolution in Data Stream Management Systems
ER '09 Proceedings of the ER 2009 Workshops (CoMoL, ETheCoM, FP-UML, MOST-ONISW, QoIS, RIGiM, SeCoGIS) on Advances in Conceptual Modeling - Challenging Perspectives
Matching dependence-related queries in the system dependence graph
Proceedings of the IEEE/ACM international conference on Automated software engineering
A unit test approach for database schema evolution
Information and Software Technology
A conceptual approach to database applications evolution
ER'10 Proceedings of the 29th international conference on Conceptual modeling
Database semantics recovery through analysis of dynamic SQL statements
Journal on data semantics XV
A practice-driven systematic review of dependency analysis solutions
Empirical Software Engineering
Checking enforcement of integrity constraints in database applications based on code patterns
Journal of Systems and Software
Defect proneness estimation and feedback approach for software design quality improvement
Information and Software Technology
Diagnosing faults in embedded queries in database applications
Proceedings of the 2012 Joint EDBT/ICDT Workshops
Integrated impact analysis for managing software changes
Proceedings of the 34th International Conference on Software Engineering
Ontology evolution: assisting query migration
ER'12 Proceedings of the 31st international conference on Conceptual Modeling
An empirical analysis of the co-evolution of schema and code in database applications
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Aiding Maintenance of Database Applications Through Extracting Attribute Dependency Graph
Journal of Database Management
Hi-index | 0.00 |
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.