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

被引:30
作者
Athanasopoulos, Dionysis [1 ]
Zarras, Apostolos V. [1 ]
Miskos, George [1 ]
Issarny, Valerie [2 ]
Vassiliadis, Panos [1 ]
机构
[1] Univ Ioannina, Dept Comp Sci, GR-45110 Ioannina, Greece
[2] INRIA Res Ctr Paris Rocquencourt, Rocquencourt, France
关键词
Cohesion; decomposition; service interface; INFORMATION;
D O I
10.1109/TSC.2014.2310195
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:550 / 562
页数:13
相关论文
共 27 条
[1]  
[Anonymous], 2009, IEEE T SERVICES COMP
[2]  
Athanasopoulos D., 2011, Proceedings of the 2011 IEEE International Conference on Web Services (ICWS 2011), P588, DOI 10.1109/ICWS.2011.27
[3]   A quality driven Hierarchical Data Divisive Soft Clustering for information retrieval [J].
Bordogna, Gloria ;
Pasi, Gabriella .
KNOWLEDGE-BASED SYSTEMS, 2012, 26 :9-19
[4]   Solving the Class Responsibility Assignment Problem in Object-Oriented Analysis with Multi-Objective Genetic Algorithms [J].
Bowman, Michael ;
Briand, Lionel C. ;
Labiche, Yvan .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2010, 36 (06) :817-837
[5]   A Unified Framework for Cohesion Measurement in Object-Oriented Systems [J].
Briand L.C. ;
Daly J.W. ;
Wüst J. .
Empirical Software Engineering, 1998, 3 (1) :65-117
[6]   Property-based software engineering measurement [J].
Briand, LC ;
Morasca, S ;
Basili, VR .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1996, 22 (01) :68-86
[7]   A METRICS SUITE FOR OBJECT-ORIENTED DESIGN [J].
CHIDAMBER, SR ;
KEMERER, CF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (06) :476-493
[8]  
Dallal J. A., 2012, ACM T SOFTW ENG METH, V21, P8
[9]  
Doval D., 1999, STEP '99. Proceedings Ninth International Workshop Software Technology and Engineering Practice, P73, DOI 10.1109/STEP.1999.798481
[10]   Refactoring - Improving coupling and cohesion of existing code [J].
Du Bois, B ;
Demeyer, S ;
Verelst, J .
11TH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2004, :144-151