The evolution of an object-oriented compiler framework
Software—Practice & Experience
Documenting frameworks using patterns
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Reuse contracts: managing the evolution of reusable assets
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Smalltalk: best practice patterns
Smalltalk: best practice patterns
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Framework integration problems, causes, solutions
Communications of the ACM
Evaluating framework architecture structural stability
ACM Computing Surveys (CSUR)
Finding refactorings via change metrics
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Types of software evolution and software maintenance
Journal of Software Maintenance: Research and Practice
Object Oriented Reengineering Patterns
Object Oriented Reengineering Patterns
Evolving Object-Oriented Designs with Refactorings
Automated Software Engineering
Software Maintenance Management
Software Maintenance Management
Semi-automatic update of applications in response to library changes
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Automated Support for Framework-Based Software Evolution
ICSM '03 Proceedings of the International Conference on Software Maintenance
Reconstruction of Successful Software Evolution Using Clone Detection
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
An Automatic Approach to identify Class Evolution Discontinuities
IWPSE '04 Proceedings of the Principles of Software Evolution, 7th International Workshop
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
The Role of Refactorings in API Evolution
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Refactoring support for class library migration
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automated upgrading of component-based applications
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
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 detection of api refactorings in libraries
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
No more HotDependencies: toward dependency-agnostic online upgrades in distributed systems
HotDep'07 Proceedings of the 3rd workshop on on Hot Topics in System Dependability
Journal of Software Maintenance and Evolution: Research and Practice
Encapsulating and exploiting change with changeboxes
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
ReBA: refactoring-aware binary adaptation of evolving libraries
Proceedings of the 30th international conference on Software engineering
Recommending adaptive changes for framework evolution
Proceedings of the 30th international conference on Software engineering
ReBA: a tool for generating binary adapters for evolving java libraries
Companion of the 30th international conference on Software engineering
From Java to UpgradeJ: an empirical study
Proceedings of the 1st International Workshop on Hot Topics in Software Upgrades
Overcoming JVM HotSwap constraints via binary rewriting
Proceedings of the 1st International Workshop on Hot Topics in Software Upgrades
Refactoring and the evolution of Fortran
SECSE '09 Proceedings of the 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering
Regrowing a language: refactoring tools allow programming languages to evolve
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Refactoring merging environment supported by graph transformations
SE '08 Proceedings of the IASTED International Conference on Software Engineering
Program refactoring, program synthesis, and model-driven development
CC'07 Proceedings of the 16th international conference on Compiler construction
The semantics of "semantic patches" in Coccinelle: program transformation for the working programmer
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
AURA: a hybrid approach to identify framework evolution
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
A multi-view API impact analysis for open SPL platform
ICACT'10 Proceedings of the 12th international conference on Advanced communication technology
Refactoring references for library migration
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
ACM SIGOPS Operating Systems Review
An extensive catalog of operators for the coupled evolution of metamodels and models
SLE'10 Proceedings of the Third international conference on Software language engineering
A study of ripple effects in software ecosystems (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
An empirical study on evolution of API documentation
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Environmental modeling framework invasiveness: Analysis and implications
Environmental Modelling & Software
Recommending Adaptive Changes for Framework Evolution
ACM Transactions on Software Engineering and Methodology (TOSEM)
Towards learning to detect meaningful changes in software
Proceedings of the International Workshop on Machine Learning Technologies in Software Engineering
Language evolution in practice: the history of GMF
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Specifying and detecting meaningful changes in programs
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
RefactoringNG: a flexible Java refactoring tool
Proceedings of the 27th Annual ACM Symposium on Applied Computing
A type system for checking specialization of packages in object-oriented programming
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Verifying backwards compatibility of object-oriented libraries using Boogie
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
A history-based matching approach to identification of framework evolution
Proceedings of the 34th International Conference on Software Engineering
Automated API migration in a user-extensible refactoring tool for Erlang programs
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Understanding myths and realities of test-suite evolution
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
How do developers react to API deprecation?: the case of a smalltalk ecosystem
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
API change and fault proneness: a threat to the success of Android apps
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
WEON: towards a software ecosystem ONtology
Proceedings of the 2013 International Workshop on Ecosystem Architectures
On testing the source compatibility in Java
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
A comparative study of manual and automated refactorings
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Systematic testing of refactoring engines on real software projects
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process. Although some tools and ideas have been proposed to solve the evolution of APIs, most updates are done manually. To better understand the requirements for migration tools, we studied the API changes of four frameworks and one library. We discovered that the changes that break existing applications are not random, but tend to fall into particular categories. Over 80% of these changes are refactorings. This suggests that refactoring-based migration tools should be used to update applications. Copyright © 2006 John Wiley & Sons, Ltd.