TY - JOUR
T1 - A technique for automatic component extraction from object-oriented programs by refactoring
AU - Washizaki, Hironori
AU - Fukazawa, Yoshiaki
PY - 2005/4
Y1 - 2005/4
N2 - 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.
AB - 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.
KW - Component-based development (CBD)
KW - JavaBeans
KW - Object-oriented programming
KW - Refactoring
KW - Software component
KW - Software reuse
UR - http://www.scopus.com/inward/record.url?scp=14544274058&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=14544274058&partnerID=8YFLogxK
U2 - 10.1016/j.scico.2004.11.007
DO - 10.1016/j.scico.2004.11.007
M3 - Article
AN - SCOPUS:14544274058
SN - 0167-6423
VL - 56
SP - 99
EP - 116
JO - Science of Computer Programming
JF - Science of Computer Programming
IS - 1-2
ER -