Software testing and analysis of object-oriented software
ACM SIGSOFT Software Engineering Notes
Design properties and evolvability of object-oriented systems
Advances in software engineering
Modeling software evolution by evolving interoperation graphs
Annals of Software Engineering
Semantics-Based Composition of Class Hierarchies
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Whole program Path-Based dynamic impact analysis
Proceedings of the 25th International Conference on Software Engineering
A change impact model for changeability assessment in object-oriented software systems
Science of Computer Programming - Software maintenance and reengineering (CSMR 99)
Predicting the Probability of Change in Object-Oriented Systems
IEEE Transactions on Software Engineering
An empirical study of slice-based cohesion and coupling metrics
ACM Transactions on Software Engineering and Methodology (TOSEM)
Deriving an approximation algorithm for automatic computation of ripple effect measures
Information and Software Technology
Ripple effect in object oriented programs
Journal of Computational Methods in Sciences and Engineering - Selected papers from the International Conference on Computer Science, Software Engineering, Information Technology, e-Business, and Applications, 2004
Measuring changeability for generic aspect-oriented systems
ACM SIGSOFT Software Engineering Notes
Automated traceability analysis for UML model refinements
Information and Software Technology
Quantitatively measuring object-oriented couplings
Software Quality Control
Measuring behavioral dependency for improving change-proneness prediction in UML-based design models
Journal of Systems and Software
An approach to analyzing the software process change impact using process slicing and simulation
Journal of Systems and Software
Supporting simultaneous versions for software evolution assessment
Science of Computer Programming
Defect proneness estimation and feedback approach for software design quality improvement
Information and Software Technology
Measuring the size of changes in automotive software systems and their impact on product quality
Proceedings of the 12th International Conference on Product Focused Software Development and Process Improvement
Journal of Systems and Software
Hi-index | 0.00 |
As the software industry has matured, we have shifted our resources from being primarily devoted to developing new software systems to primarily making modifications in evolving software systems. A major problem for developers in an evolutionary environment is that seemingly small changes can ripple throughout the system to have major unintended impacts elsewhere. As a result, software developers need mechanisms to understand how a change to a software system will affect the rest of the system. Although the effects of changes in object-oriented are restricted, they are also more subtle and more difficult to detect. This paper presents algorithms to analyze the potential impacts of changes to object-oriented software, taking into account encapsulation, inheritance, and polymorphism. This technique allows software developers to perform "what if" analysis on the effect of proposed changes, and thereby choose the change that has the least influence on the rest of the system. The analysis also adds valuable information to regression testing, by suggesting what classes and methods need to be retested, and to project managers, who can use the results for cost estimation and schedule planning.