System Structure Analysis: Clustering with Data Bindings
IEEE Transactions on Software Engineering - Annals of discrete mathematics, 24
Program understanding: challenge for the 1990's
IBM Systems Journal
ACM Computing Surveys (CSUR)
The Effects of Layering and Encapsulation on Software Development Cost and Quality
IEEE Transactions on Software Engineering
Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Software reconnaissance: mapping program features to code
Journal of Software Maintenance: Research and Practice
UML components: a simple process for specifying component-based software
UML components: a simple process for specifying component-based software
Computer
Locating Features in Source Code
IEEE Transactions on Software Engineering
Mining Legacy Systems for Business Components: An Architecture for an Integrated Toolkit
COMPSAC '02 Proceedings of the 26th International Computer Software and Applications Conference on Prolonging Software Life: Development and Redevelopment
An Incremental Semi-Automatic Method for Component Recovery
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
The secret history of information hiding
Software pioneers
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Achieving a Reuse Perspective within a Component Recovery Process: An Industrial Scale Case Study
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
Hi-index | 0.01 |
Continuing to develop software from scratch will not be feasible indefinitely. Reusing existing software would seem to be a viable solution to this problem. The paradigm of component-based development (CBD) explicitly accounts for reuse in its process. Unfortunately the majority of existing software systems are not implemented using CBD, thus reusing portions of this software using CBD becomes difficult. Reengineering and maintenance research contains a plethora of software analysis and restructuring techniques that could be used to help us exploit legacy applications for reuse. This thesis focuses on two such techniques and combines variations of them for the purpose of component recovery: A feature location technique called Software Reconnaissance and a design recovery technique called Software Reflexion Modelling. Their combination is called "Component Reconn-exion." We describe the technique, highlight results and evaluation to date and finally discuss further work necessary to complete our contribution as a PhD. thesis.