System Structure Analysis: Clustering with Data Bindings
IEEE Transactions on Software Engineering - Annals of discrete mathematics, 24
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Software salvaging and the call dominance tree
Journal of Systems and Software
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Assessing modular structure of legacy code based on mathematical concept analysis
ICSE '97 Proceedings of the 19th international conference on Software engineering
Program and interface slicing for reverse engineering
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Communications of the ACM
Understanding class hierarchies using concept analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Designing components versus objects: a transformational approach
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM)
Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM)
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Finding Components in a Hierarchy of Modules: a Step towards Architectural Understanding
ICSM '97 Proceedings of the International Conference on Software Maintenance
Automatic Clustering of Software Systems Using a Genetic Algorithm
STEP '99 Proceedings of the Software Technology and Engineering Practice
A Graph-Based Object Identification Process for Procedural Programs
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
An Incremental Semi-Automatic Method for Component Recovery
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Component Identification Method with Coupling and Cohesion
APSEC '01 Proceedings of the Eighth Asia-Pacific on Software Engineering Conference
A Metrics Suite for Measuring Reusability of Software Components
METRICS '03 Proceedings of the 9th International Symposium on Software Metrics
A search system for java programs by using extracted javaBeans components
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Discovering the Structures of Open Source Programs from Their Developer Mailing Lists
DS '09 Proceedings of the 12th International Conference on Discovery Science
Identifying components in object-oriented programs using dynamic analysis and clustering
CASCON '09 Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
Component types qualification in Java legacy code driven by communication integrity rules
Proceedings of the 4th India Software Engineering Conference
Visualization of binary component-based program structure with component functional size
ACOS'06 Proceedings of the 5th WSEAS international conference on Applied computer science
Deriving high-level abstractions from legacy software using example-driven clustering
Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research
CBSE'10 Proceedings of the 13th international conference on Component-Based Software Engineering
Hi-index | 0.00 |
Component-based software development (CBD) is based on building software systems from previously-existing software components. In CBD, reuse of common parts in component form can reduce the development cost of new systems, and reduce the maintenance cost associated with the support of these systems. However, existing programs have usually been built using another paradigm, such as the object-oriented (OO) paradigm. OO programs cannot be reused rapidly or effectively in the CBD paradigm even if they contain reusable functions. In this paper, we propose a technique for extracting components from existing OO programs by our new refactoring "Extract Component". Our technique of refactoring can identify and extract reusable components composed of classes from OO programs, and modify the surrounding parts of extracted components in original programs. We have developed a system that performs our refactoring automatically and extracts JavaBeans components from Java programs. As a result of evaluation experiments, it is found that our system is useful for extracting reusable components along with usage examples from Java programs.