1 Citation (Scopus)

Abstract

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.

Original languageEnglish
Pages (from-to)2879-2899
Number of pages21
JournalIEEE Transactions on Software Engineering
Volume51
Issue number10
DOIs
Publication statusPublished - 2025

!!!Keywords

  • Service identification
  • legacy systems
  • migration
  • re-engineering
  • service types
  • software reuse
  • survey

Fingerprint

Dive into the research topics of 'Identifying Reusable Services in Legacy Object-Oriented Systems: A Type-Sensitive Identification Approach'. These topics are generated from the title and abstract of the publication. Together, they form a unique fingerprint.

Cite this