Document Type


Publication Date



There is a constant need for practical, efficient and costeffective software evolution techniques. We propose a novel evolution methodology that integrates the concepts of features and component-based software engineering (CBSE). We collect information about a legacy system’s features through interviews with key developers, users of the system and analyzing the existing regression test cases. We found that regression test cases are untapped resources, as far as information about system features is concerned. By exercising each feature with their associated test cases using code profilers and similar tools, we are able to locate code that we can refactor to create components. These components are then inserted back into the legacy system, ensuring a working system structure. Our methodology is divided into two parts. Part one deals with identification of source code associated with features which need evolution and part two deals with creating components. In this paper, we present preliminary results of the our methodology.