Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient comparison of program slices
Acta Informatica
Communications of the ACM
Object-oriented modeling and design
Object-oriented modeling and design
Object-oriented software metrics: a practical guide
Object-oriented software metrics: a practical guide
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Design patterns for object-oriented software development
Design patterns for object-oriented software development
Signature matching: a tool for using software libraries
ACM Transactions on Software Engineering and Methodology (TOSEM)
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Slicing class hierarchies in C++
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Reuse contracts: managing the evolution of reusable assets
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
A mechanism for automatically and dynamically changing software components
Proceedings of the 1997 symposium on Software reusability
Object-Oriented Software Construction
Object-Oriented Software Construction
Selecting Regression Tests for Object-Oriented Software
ICSM '94 Proceedings of the International Conference on Software Maintenance
Using C++ Templates to Implement Role-Based Designs
ISOTAS '96 Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Hi-index | 0.00 |
This paper presents a mechanism for automatically generating new classes from classes existing in a user library by using their modification histories. To generate classes that are likely to meet user requirements and are consistent with the existing classes, we propose three actors, a Specifier; Finder; and Integrator; that perform this mechanism. Specifier records the history of modifications between methods with the same inteiface ofa parent class and its heir. If the required method is not defined in the existing class which a user is referring to, Finder retrieves classes similar to the referenced class and Imegrator applies the past modifications of similar classes to the referenced class. Classes are determined to be similar based on their positions in a class hierarchy tree. Both Specifier and Integrator are achieved by a method integration algorithm based on object-oriented bounded program slicing and class dependence graph matching. The mechanism enables users to reuse new classes with little or no modification, and thus easily create object-oriented programs.