Object-preserving class transformations
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Automated assistance for program restructuring
ACM Transactions on Software Engineering and Methodology (TOSEM)
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Release-to-release binary compatibility in SOM
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Prolog: the standard: reference manual
Prolog: the standard: reference manual
Putting metaclasses to work: a new dimension in object-oriented programming
Putting metaclasses to work: a new dimension in object-oriented programming
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Semi-automatic update of applications in response to library changes
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Object Schizophrenia Problem in Object Role System Design
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Laws of Software Evolution Revisited
EWSPT '96 Proceedings of the 5th European Workshop on Software Process Technology
Proceedings of the First JSSST International Symposium on Object Technologies for Advanced Software
Practical analysis for refactoring
Practical analysis for refactoring
Static composition of refactorings
Science of Computer Programming - Special issue on program transformation
CatchUp!: capturing and replaying refactorings to support API evolution
Proceedings of the 27th international conference on Software engineering
Formalizing refactorings with graph transformations: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
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
Cloning and Expanding Graph Transformation Rules for Refactoring
Electronic Notes in Theoretical Computer Science (ENTCS)
ReBA: refactoring-aware binary adaptation of evolving libraries
Proceedings of the 30th international conference on Software engineering
ComeBack!: a refactoring-based tool for binary-compatible framework upgrade
Companion of the 30th international conference on Software engineering
Annotation refactoring: inferring upgrade transformations for legacy applications
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Practical refactoring-based framework upgrade
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Controlled adaptation-oriented evolution of object-oriented components
SE '08 Proceedings of the IASTED International Conference on Software Engineering
Refactoring references for library migration
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A combined technique for automatic detection of backward binary compatibility problems
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
Backward compatibility of software interfaces: Steps towards automatic verification
Programming and Computing Software
Hi-index | 0.00 |
The evolution of a software framework may invalidate existing plugins - modules that used one of its previous versions. To preserve binary compatibility (i.e., plugins will link and run with a new framework release without recompilation), we automatically create an adaptation layer that translates between plugins and the framework. The creation of these adapters is guided by information about syntactic framework changes (refactorings). For each supported refactoring we formally define a comeback - a refactoring used to construct adapters. For an ordered set of refactorings that occured between two framework versions, the backward execution of the corresponding comebacks yields the adaptation layer.