Identifying objects using cluster and concept analysis
Proceedings of the 21st international conference on Software engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Design erosion: problems and causes
Journal of Systems and Software
Metrics and Laws of Software Evolution - The Nineties View
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
Finding Reusable Software Components in Large Systems
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
Experiments with Clustering as a Software Remodularization Method
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Applications of clustering techniques to software partitioning, recovery and restructuring
Journal of Systems and Software - Special issue: Applications of statistics in software engineering
An Information Retrieval Approach to Concept Location in Source Code
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Mining Version Histories to Guide Software Changes
IEEE Transactions on Software Engineering
Proceedings of the 28th international conference on Software engineering
Fine grained indexing of software repositories to support impact analysis
Proceedings of the 2006 international workshop on Mining software repositories
Mining Aspects from Version History
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Application Architecture Discovery - Towards Domain-driven, Easily-Extensible Code Structure
WCRE '11 Proceedings of the 2011 18th Working Conference on Reverse Engineering
Hi-index | 0.00 |
Quick and quality changes to a software application to add new feature or change existing feature, depend largely on the code architecture and its atomic responsibilities. As the application evolves, the code undergoes modifications and drifts away from its original design, leading to anomalies in the code structure and non-atomic, non-modular architecture. In this paper, we propose a defect and change-data driven approach to analyze the application, and determine the modules that need re-factoring. Improving the code structure by leveraging the domain knowledge is the key. We validate the approach by applying to an existing financial system. The preliminary analysis for the case-study reveals that the approach creates meaningful structure from the legacy code, which enables the developers to quickly identify the code that implements a given functionality.