Cohesion-Driven Decomposition of Service Interfaces without Access to Source Code

D. Athanasopoulos, A.V. Zarras, G. Miskos, V. Issarny, P. Vassiliadis

Research output: Contribution to journalArticlepeer-review

22 Citations (Scopus)
12 Downloads (Pure)


Software cohesion concerns the degree to which the elements of a module belong together. Cohesive software is easier to understand, test and maintain. In the context of service-oriented development, cohesion refers to the degree to which the operations of a service interface belong together. In the state of the art, software cohesion is improved based on refactoring methods that rely on information, extracted from the software implementation. This is a main limitation towards using these methods in the case of web services: web services do not expose their implementation; instead all that they export is the web service interface specification. To deal with this problem, we propose an approach that enables the cohesion-driven decomposition of service interfaces, without information on how the services are implemented. Our approach progressively decomposes a given service interface into more cohesive interfaces; the backbone of the approach is a suite of cohesion metrics that rely on information, extracted solely from the specification of the service interface. We validate the approach in 22 real-world services, provided by Amazon and Yahoo. We assess the effectiveness of the proposed approach, concerning the cohesion improvement, and the number of interfaces that result from the decomposition of the examined interfaces. Moreover, we show the usefulness of the approach in a user study, where developers assessed the quality of the produced interfaces.
Original languageEnglish
Pages (from-to)550-562
JournalIEEE Transactions on Services Computing
Issue number4
Early online date11 Mar 2014
Publication statusPublished - 07 Aug 2015
Externally publishedYes


Dive into the research topics of 'Cohesion-Driven Decomposition of Service Interfaces without Access to Source Code'. Together they form a unique fingerprint.

Cite this