Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Combination of inheritance hierarchies
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Issues in the design and specification of class libraries
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
Typing the specialization interface
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Succeeding with objects: decision frameworks for project management
Succeeding with objects: decision frameworks for project management
Modular reasoning in the presence of subclassing
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Subject-oriented composition rules
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
The promise and the cost of object technology: a five-year forecast
Communications of the ACM - Special issue on object-oriented experiences and future trends
Object-Oriented Systems Design: An Integrated Approach
Object-Oriented Systems Design: An Integrated Approach
From custom applications to domain-specific frameworks
Communications of the ACM
Maintaining the consistency of class libraries during their evolution
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
CoffeeStrainer: statically-checked constraints on the definition and use of types in Java
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Software evolution in componentware using requirements/assurances contracts
Proceedings of the 22nd international conference on Software engineering
An Automatic Class Generation Mechanism by Using Method Integration
IEEE Transactions on Software Engineering
Safely creating correct subclasses without seeing superclass code
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Fostering component evolution with C# attributes
Proceedings of the International Workshop on Principles of Software Evolution
Views and Patterns in E-Commerce Application Design
Annals of Software Engineering
Using UML Profiles for Documenting Web-Based Application Frameworks
Annals of Software Engineering
Automating Support for Software Evolution in UML
Automated Software Engineering
Towards Specifying Constraints for Object-Oriented Frameworks
Information Systems Frontiers
Embedding built-in tests in hot spots of an object-oriented framework
ACM SIGPLAN Notices
Behavior Protocols for Software Components
IEEE Transactions on Software Engineering
Type-Safe Delegation for Run-Time Component Adaptation
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Conditional Graph Rewriting as a Domain-Independent Formalism for Software Evolution
AGTIVE '99 Proceedings of the International Workshop on Applications of Graph Transformations with Industrial Relevance
The Fragile Base Class Problem and Its Impact on Component Systems
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
ECOOP '02 Proceedings of the Workshops and Posters on Object-Oriented Technology
Reuse Contracts as Component Interface Descriptions
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
Combining Software Descriptions
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
Evolution of Distributed Java Programs
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
Increasing the Testability of Object-Oriented Frameworks with Built-in Tests
AISA '02 Proceedings of the First International Workshop on Advanced Internet Services and Applications
Towards specifying constraints for object-oriented frameworks
CASCON '01 Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research
Bounding Component Behavior via Protocols
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Detecting Evolution Incompatibilities by Analyzing Java Binaries
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Implementing Collaboration-Based Designs Using Aspect-Oriented Programming
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
A Formal Foundation for Object-Oriented Software Evolution
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A Declarative Evolution Framework for Object-Oriented Design Patterns
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A New Class Generation Mechanism by Method Integration
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Towards Software Product-Lines — A Refinement-Oriented Generation Language
BT Technology Journal
Object-oriented encapsulation for dynamically typed languages
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
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
Towards a taxonomy of software change: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - Unanticipated Software Evolution
Interaction-based programming with classages
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
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)
Creating sophisticated development tools with OmniBrowser
Computer Languages, Systems and Structures
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
Mining framework usage changes from instantiation code
Proceedings of the 30th international conference on Software engineering
Practical refactoring-based framework upgrade
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Supporting Framework Use via Automatically Extracted Concept-Implementation Templates
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Safe composition of non-monotonic features
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Understanding the use of inheritance with visual patterns
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
Enhancing class commutability in the deployment of design patterns
Information and Software Technology
ISC'06 Proceedings of the 14th international conference on Advances in smalltalk
AURA: a hybrid approach to identify framework evolution
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis
Information and Software Technology
An empirical study of overriding in open source Java
ACSC '10 Proceedings of the Thirty-Third Australasian Conferenc on Computer Science - Volume 102
Managing the evolution of aspect-oriented software with model-based pointcuts
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Lessons learned in applying formal concept analysis to reverse engineering
ICFCA'05 Proceedings of the Third international conference on Formal Concept Analysis
A history-based matching approach to identification of framework evolution
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.02 |
A critical concern in the reuse of software is the propagation of changes made to reusable artifacts. Without techniques to manage these changes, multiple versions of these artifacts will propagate through different systems and reusers will not be able to benefit from improvements to the original artifact. We propose to codify the management of change in a software system by means of reuse contracts that record the protocol between managers and users of a reusable asset. Just as real world contracts can be extended, amended and customised, reuse contracts are subject to parallel changes encoded by formal reuse operators: extension, refinement and concretisation. Reuse contracts and their operators serve as structured documentation and facilitate the propagation of changes to reusable assets by indicating how much work is needed to update previously built applications, where and how to test and how to adjust these applications.