Manel Abdellatif;Naouel Moha;Yann-Gaël Guéhéneuc;Hafedh Mili;Ghizlane El Boussaidi
{"title":"识别遗留面向对象系统中的可重用服务:一种类型敏感的识别方法","authors":"Manel Abdellatif;Naouel Moha;Yann-Gaël Guéhéneuc;Hafedh Mili;Ghizlane El Boussaidi","doi":"10.1109/TSE.2025.3603009","DOIUrl":null,"url":null,"abstract":"The migration of legacy software systems to a <italic>service-oriented architecture</i> (SOA) is one of the main strategies for modernising such systems. The success of modernising a legacy system to a SOA highly depends on the used service identification approach where the goal is to identify reusable functionalities that could become services. In this paper, we perform a comparative analysis of service identification approaches proposed by academia and industry. We show that there is a gap between academia and industry in the used approaches to identify services from legacy systems. We extract from the comparative analysis several recommendations about the inputs, processes, and outputs that a service identification approach should have. Based on these recommendations, we propose <italic>ServiceMiner</i>, a bottom-up service identification approach, which relies on source-code analysis, because other sources of information may be unavailable or out of sync with the actual code. <italic>ServiceMiner</i> relies on a categorisation of service types and code-level patterns characterising types of services. We evaluate <italic>ServiceMiner</i> on four case studies. We also compare our results to those of three state-of-the-art approaches. We show that <italic>ServiceMiner</i> identifies architecturally-significant services with, on average, 78% precision, 76% recall, and 77% F-measure.","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"51 10","pages":"2879-2899"},"PeriodicalIF":5.6000,"publicationDate":"2025-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Identifying Reusable Services in Legacy Object-Oriented Systems: A Type-Sensitive Identification Approach\",\"authors\":\"Manel Abdellatif;Naouel Moha;Yann-Gaël Guéhéneuc;Hafedh Mili;Ghizlane El Boussaidi\",\"doi\":\"10.1109/TSE.2025.3603009\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The migration of legacy software systems to a <italic>service-oriented architecture</i> (SOA) is one of the main strategies for modernising such systems. The success of modernising a legacy system to a SOA highly depends on the used service identification approach where the goal is to identify reusable functionalities that could become services. In this paper, we perform a comparative analysis of service identification approaches proposed by academia and industry. We show that there is a gap between academia and industry in the used approaches to identify services from legacy systems. We extract from the comparative analysis several recommendations about the inputs, processes, and outputs that a service identification approach should have. Based on these recommendations, we propose <italic>ServiceMiner</i>, a bottom-up service identification approach, which relies on source-code analysis, because other sources of information may be unavailable or out of sync with the actual code. <italic>ServiceMiner</i> relies on a categorisation of service types and code-level patterns characterising types of services. We evaluate <italic>ServiceMiner</i> on four case studies. We also compare our results to those of three state-of-the-art approaches. We show that <italic>ServiceMiner</i> identifies architecturally-significant services with, on average, 78% precision, 76% recall, and 77% F-measure.\",\"PeriodicalId\":13324,\"journal\":{\"name\":\"IEEE Transactions on Software Engineering\",\"volume\":\"51 10\",\"pages\":\"2879-2899\"},\"PeriodicalIF\":5.6000,\"publicationDate\":\"2025-09-09\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"IEEE Transactions on Software Engineering\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://ieeexplore.ieee.org/document/11154854/\",\"RegionNum\":1,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Transactions on Software Engineering","FirstCategoryId":"94","ListUrlMain":"https://ieeexplore.ieee.org/document/11154854/","RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
Identifying Reusable Services in Legacy Object-Oriented Systems: A Type-Sensitive Identification Approach
The migration of legacy software systems to a service-oriented architecture (SOA) is one of the main strategies for modernising such systems. The success of modernising a legacy system to a SOA highly depends on the used service identification approach where the goal is to identify reusable functionalities that could become services. In this paper, we perform a comparative analysis of service identification approaches proposed by academia and industry. We show that there is a gap between academia and industry in the used approaches to identify services from legacy systems. We extract from the comparative analysis several recommendations about the inputs, processes, and outputs that a service identification approach should have. Based on these recommendations, we propose ServiceMiner, a bottom-up service identification approach, which relies on source-code analysis, because other sources of information may be unavailable or out of sync with the actual code. ServiceMiner relies on a categorisation of service types and code-level patterns characterising types of services. We evaluate ServiceMiner on four case studies. We also compare our results to those of three state-of-the-art approaches. We show that ServiceMiner identifies architecturally-significant services with, on average, 78% precision, 76% recall, and 77% F-measure.
期刊介绍:
IEEE Transactions on Software Engineering seeks contributions comprising well-defined theoretical results and empirical studies with potential impacts on software construction, analysis, or management. The scope of this Transactions extends from fundamental mechanisms to the development of principles and their application in specific environments. Specific topic areas include:
a) Development and maintenance methods and models: Techniques and principles for specifying, designing, and implementing software systems, encompassing notations and process models.
b) Assessment methods: Software tests, validation, reliability models, test and diagnosis procedures, software redundancy, design for error control, and measurements and evaluation of process and product aspects.
c) Software project management: Productivity factors, cost models, schedule and organizational issues, and standards.
d) Tools and environments: Specific tools, integrated tool environments, associated architectures, databases, and parallel and distributed processing issues.
e) System issues: Hardware-software trade-offs.
f) State-of-the-art surveys: Syntheses and comprehensive reviews of the historical development within specific areas of interest.