Software Maintenance Management
Software Maintenance Management
Protected Variation: The Importance of Being Closed
IEEE Software
Public versus Published Interfaces
IEEE Software
Semi-automatic update of applications in response to library changes
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Using Origin Analysis to Detect Merging and Splitting of Source Code Entities
IEEE Transactions on Software Engineering
CatchUp!: capturing and replaying refactorings to support API evolution
Proceedings of the 27th international conference on Software engineering
Mining Version Histories to Guide Software Changes
IEEE Transactions on Software Engineering
When Functions Change Their Names: Automatic Detection of Origin Relationships
WCRE '05 Proceedings of the 12th Working Conference on Reverse Engineering
How do APIs evolve? A story of refactoring: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - IEEE International Conference on Software Maintenance (ICSM2005)
Identifying Refactorings from Source-Code Changes
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Using task context to improve programmer productivity
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
FrUiT: IDE support for framework understanding
eclipse '06 Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange
Approximate Structural Context Matching: An Approach to Recommend Relevant Examples
IEEE Transactions on Software Engineering
Automatic Inference of Structural Changes for Matching across Program Versions
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Refactoring-Aware Configuration Management for Object-Oriented Programs
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Automated testing of refactoring engines
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Mining Software Evolution to Predict Refactoring
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction
IEEE Transactions on Software Engineering
Mining framework usage changes from instantiation code
Proceedings of the 30th international conference on Software engineering
Recommending adaptive changes for framework evolution
Proceedings of the 30th international conference on Software engineering
Retrieving Task-Related Clusters from Change History
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Enabling static analysis for partial java programs
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Reducing the Costs of Bounded-Exhaustive Testing
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Discovering and representing systematic code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
SemDiff: Analysis and recommendation support for API evolution
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
Automated detection of refactorings in evolving components
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Crosscutting revision control system
Proceedings of the 34th International Conference on Software Engineering
How do software engineers understand code changes?: an exploratory study in industry
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Seeking the ground truth: a retroactive study on the evolution and migration of software libraries
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Automatically repairing broken workflows for evolving GUI applications
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Inferring likely mappings between APIs
Proceedings of the 2013 International Conference on Software Engineering
WEON: towards a software ecosystem ONtology
Proceedings of the 2013 International Workshop on Ecosystem Architectures
Hi-index | 0.00 |
In the course of a framework’s evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework’s evolution can be a challenging task. We present a recommendation system, SemDiff, that suggests adaptations to client programs by analyzing how a framework was adapted to its own changes. In a study of the evolution of one open source framework and three client programs, our approach recommended relevant adaptive changes with a high level of precision. In a second study of the evolution of two frameworks, we found that related change detection approaches were better at discovering systematic changes and that SemDiff was complementary to these approaches by detecting non-trivial changes such as when a functionality is imported from an external library.