A Concept Formation Based Approach to Object Identification in Procedural Code
Automated Software Engineering
Specification-Based Browsing of Software Component Libraries
Automated Software Engineering
Locating Features in Source Code
IEEE Transactions on Software Engineering
Distance Measures for Information System Reengineering
CAiSE '00 Proceedings of the 12th International Conference on Advanced Information Systems Engineering
Aiding Program Comprehension by Static and Dynamic Feature Analysis
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Revisiting the ΔIC approach to component recovery
Science of Computer Programming - Software analysis, evolution and re-engineering
Recovering UML class models from C++: A detailed explanation
Information and Software Technology
Automated clustering to support the reflexion method
Information and Software Technology
Software Engineering
Extending the reflexion method for consolidating software variants into product lines
Software Quality Control
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
Journal of Software Maintenance and Evolution: Research and Practice
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
A survey of formal concept analysis support for software engineering activities
Formal Concept Analysis
Hi-index | 0.00 |
Legacy software systems present a high level of entropy combined with imprecise documentation. This makes their maintenance more difficult, more time consuming, and costlier. In order to address these issues, many organizations have been migrating their legacy systems to new technologies. In this paper, we describe a computer-supported approach aimed at supporting the migration of procedural software systems to the object-oriented (OO) technology, which supposedly fosters reusability, expandability, flexibility, encapsulation, information hiding, modularity, and maintainability. Our approach relies heavily on the automatic formation of concepts based on information extracted directly from code to identify objects. The approach tends, thus, to minimize the need for domain application experts. We also propose rules for the identification of OO methods from routines. A well known and self-contained example is used to illustrate the approach. We have applied the approach on medium/large procedural software systems, and the results show that the approach is able to find objects and to identify their methods from procedures and functions.