{"title":"Evolving legacy systems using feature engineering and CBSE","authors":"A. Mehta","doi":"10.1109/ICSE.2001.919183","DOIUrl":null,"url":null,"abstract":"This dissertation explores the relationships between feature engineering, CBSE, and software evolution. Software end-users and developers have different perspectives of a software system, resulting in a complexity gap between user expectations and the software functionality. This gap together with aging code has resulted in lost assets for many organizations. By combining feature engineering and CBSE, legacy code can be modernized so that many organizations can benefit from this technique. In our approach, we identify the legacy system's features through test cases and test suites. We then apply our code carving techniques to identify the code associated with those features and extract the code to create components. We validate our results in two ways. First, by inserting the component(s) back into the legacy system to continue functioning. Second, by measuring the cost of adding a new feature after applying the methodology.","PeriodicalId":374824,"journal":{"name":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","volume":"431 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSE.2001.919183","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
This dissertation explores the relationships between feature engineering, CBSE, and software evolution. Software end-users and developers have different perspectives of a software system, resulting in a complexity gap between user expectations and the software functionality. This gap together with aging code has resulted in lost assets for many organizations. By combining feature engineering and CBSE, legacy code can be modernized so that many organizations can benefit from this technique. In our approach, we identify the legacy system's features through test cases and test suites. We then apply our code carving techniques to identify the code associated with those features and extract the code to create components. We validate our results in two ways. First, by inserting the component(s) back into the legacy system to continue functioning. Second, by measuring the cost of adding a new feature after applying the methodology.