Skip to main content
Log in

Improving web service interfaces modularity using multi-objective optimization

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Service interface is a critical component in a service-oriented architecture (SOA). As first-class design artifact, a service interface should be properly designed to provide best practice of third-party reuse. However, a very common bad service design practice in existing SOAs is to place semantically unrelated operations implementing several abstractions in a single interface. Poorly designed service interfaces can have a negative effect on all client applications that use these services. Indeed, services with such poor interface structure tend to be difficult to comprehend, maintain and reuse in business processes, leading to unsuccessful services. Necessarily, then, service designers should “refactor”, i.e., restructure, their service interface into smaller, more cohesive interfaces, each representing a specific abstraction. To address this problem, we introduce a novel approach, namely WSIRem, to support service’s developers in improving the modularization of their service interfaces. WSIRem is based on a multi-objective search-based optimization approach to find the appropriate modularization of a service interface into smaller, more cohesive and loosely coupled interfaces, each implementing a distinct abstraction. WSIRem has been empirically evaluated on a benchmark of 22 real-world Web services provided by Amazon and Yahoo. Results show that the automatically identified interfaces improved the services interface structure. Qualitative evaluation of WSIRem with developers showed the performance of WSIRem in terms of understandability, where the new WSIRem interfaces were recognized as ‘relevant’ from developers point of view with more than 73% of precision and 77% of recall. Overall, the obtained results show that WSIRem outperforms state-of-the-art approaches relying on traditional partitioning techniques.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. http://www.w3.org/TR/wsdl20/.

  2. http://s3.amazonaws.com/ec2-downloads/2009-10-31.ec2.wsdl. Accessed on February 15th, 2019.

  3. https://aws.amazon.com/documentation/ec2/.

  4. http://www.textfixer.com/resources/common-english-words.txt.

  5. http://nlp.stanford.edu/software/corenlp.shtml.

  6. https://github.com/ouniali/AmazonYahooBenchmark.

  7. http://aws.amazon.com/.

  8. http://developer.searchmarketing.yahoo.com/docs/V6/reference/.

  9. http://www.esurveyspro.com.

References

  • Abdeen, H., Ducasse, S., Sahraoui, H., Alloui, I.: Automatic package coupling and cycle minimization. In: 16th Working Conference on Reverse Engineering, pp. 103–112. IEEE (2009)

  • Anquetil, N., Lethbridge, T.C.: Experiments with clustering as a software remodularization method. In: 6th Working Conference on Reverse Engineering, pp. 235–255. IEEE (1999)

  • Athanasopoulos, D., Zarras, A.: Fine-grained metrics of cohesion lack for service interfaces. In: IEEE International Conference on Web Services (ICWS), pp. 588–595 (2011)

  • Athanasopoulos, D., Zarras, A.V., Miskos, G., Issarny, V.: Cohesion-driven decomposition of service interfaces without access to source code. IEEE Trans. Serv. Comput. 8(JUNE), 1–18 (2015)

    Google Scholar 

  • Bavota, G., De Lucia, A., Oliveto, R.: Identifying extract class refactoring opportunities using structural and semantic cohesion measures. J. Syst. Softw. 84(3), 397–414 (2011)

    Article  Google Scholar 

  • Bavota, G., De Lucia, A., Marcus, A., Oliveto, R.: Automating extract class refactoring: an improved method and its evaluation. Empir. Softw. Eng. 19(6), 1617–1664 (2014)

    Article  Google Scholar 

  • Budgen, D.: Software Design. Addision-Wesley, Reading (1999)

    MATH  Google Scholar 

  • Card, D.N., Glass, R.L.: Measuring Software Design Quality. Prentice-Hall Inc., Englewood Cliffs (1990)

    Google Scholar 

  • Chisnall, P.M.: Questionnaire design, interviewing and attitude measurement. J. Mark. Res. Soc. 35(4), 392–393 (1993)

    Google Scholar 

  • Cliff, N.: Dominance statistics: ordinal analyses to answer ordinal questions. Psychol. Bull. 114(3), 494 (1993)

    Article  Google Scholar 

  • Cohen, J.: Statistical Power Analysis for the Behavioral Sciences. Academic Press, London (1988)

    MATH  Google Scholar 

  • Coscia, J.L.O., Mateos, C., Crasso, M., Zunino, A.: Refactoring code-first web services for early avoiding WSDL anti-patterns: approach and comprehensive assessment. Sci. Comput. Program. 89, 374–407 (2014)

    Article  Google Scholar 

  • Crasso, M., Rodriguez, J.M., Zunino, A., Campo, M.: Revising WSDL documents: why and how. IEEE Internet Comput. 14(5), 48–56 (2010)

    Article  Google Scholar 

  • Daagi, M., Ouni, A., Kessentini, M., Gammoudi, M.M., Bouktif, S.: Web service interface decomposition using formal concept analysis. In: IEEE International Conference on Web Services (ICWS), pp. 172–179. IEEE (2017)

  • De Renzis, A., Garriga, M., Flores, A., Cechich, A., Mateos, C., Zunino, A.: A domain independent readability metric for web service descriptions. Comput. Stand. Interfaces 50, 124–141 (2017)

    Article  Google Scholar 

  • Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evolut. Comput. 6(2), 182–197 (2002)

    Article  Google Scholar 

  • Demšar, J.: Statistical comparisons of classifiers over multiple data sets. J. Mach. Learn. Res. 7, 1–30 (2006)

    MathSciNet  MATH  Google Scholar 

  • Dudney, B., Krozak, J., Wittkopf, K., Asbury, S., Osborne, D.: J2EE Antipatterns. Wiley, New York (2003)

    Google Scholar 

  • Fleiss, J.L.: Measuring nominal scale agreement among many raters. Psychol. Bull. 76(5), 378 (1971)

    Article  Google Scholar 

  • Fokaefs, M., Mikhaiel, R., Tsantalis, N., Stroulia, E., Lau, A.: An empirical study on web service evolution. In: IEEE International Conference on Web Services (ICWS), pp. 49–56 (2011)

  • Fokaefs, M., Tsantalis, N., Stroulia, E., Chatzigeorgiou, A.: Identification and application of extract class refactorings in object-oriented systems. J. Syst. Softw. 85(10), 2241–2260 (2012)

    Article  Google Scholar 

  • Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Longman Publishing Co., Inc., Reading (1999)

    MATH  Google Scholar 

  • Haesen, R., Snoeck, M., Lemahieu, W., Poelmans, S.: On the definition of service granularity and its architectural impact. In: Bellahsène, Z., Léonard, M. (eds.) Advanced Information Systems Engineering, pp. 375–389. Springer (2008)

  • Harman, M.: The current state and future of search based software engineering. In: Future of Software Engineering (FOSE), pp. 342–357 (2007)

  • Harman, M., Hierons, R.M., Proctor, M.: A new representation and crossover operator for search-based optimization of software modularization. GECCO 2, 1351–1358 (2002)

    Google Scholar 

  • Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: trends, techniques and applications. ACM Comput. Surv. (CSUR) 45(1), 11 (2012)

    Article  Google Scholar 

  • Hirsch, M., Rodriguez, A., Rodriguez, J.M., Mateos, C., Zunino, A.: Spotting and removing wsdl anti-pattern root causes in code-first web services: a thorough evaluation of impact on service discoverability. Comput. Stand. Interfaces 56, 116–133 (2017)

    Article  Google Scholar 

  • Hruschka, E.R., Campello, R.J., Freitas, A., De Carvalho, A.C., et al.: A survey of evolutionary algorithms for clustering. IEEE Trans. Syst. Man Cybern. C Appl. Rev. 39(2), 133–155 (2009)

    Article  Google Scholar 

  • Kessentini, M., Ouni, A.: Detecting android smells using multi-objective genetic programming. In: International Conference on Mobile Software Engineering and Systems (MobileSoft), pp. 122–132 (2017)

  • Král, J., Zemlicka, M.: Popular SOA antipatterns. In: Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns, pp. 271–276 (2009)

  • Landis, J.R., Koch, G.G.: The measurement of observer agreement for categorical data. Biometrics 33(1), 159–174 (1977)

    Article  MATH  Google Scholar 

  • Mancoridis, S., Mitchell, B.S., Rorres, C., Chen, Y.F., Gansner, E.R.: Using automatic clustering to produce high-level system organizations of source code. In: IWPC, vol. 98, pp. 45–52. Citeseer (1998)

  • Maqbool, O., Babri, H.A.: Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng. 33(11), 759–780 (2007)

    Article  Google Scholar 

  • Masoud, H., Jalili, S.: A clustering-based model for class responsibility assignment problem in object-oriented analysis. J. Syst. Softw. 93, 110–131 (2014)

    Article  Google Scholar 

  • Mateos, C., Crasso, M., Rodriguez, J.M., Zunino, A., Campo, M.: Measuring the impact of the approach to migration in the quality of web service interfaces. Enterp. Inf. Syst. 9(1), 58–85 (2015a)

    Article  Google Scholar 

  • Mateos, C., Rodriguez, J.M., Zunino, A.: A tool to improve code-first web services discoverability through text mining techniques. Softw. Pract. Exp. 45(7), 925–948 (2015b)

    Article  Google Scholar 

  • Mkaouer, W., Kessentini, M., Shaout, A., Koligheu, P., Bechikh, S., Deb, K., Ouni, A.: Many-objective software remodularization using NSGA-III. ACM Trans. Softw. Eng. Methodol. (TOSEM) 24(3), 17:1–17:45 (2015)

    Article  Google Scholar 

  • Moha, N., Palma, F., Nayrolles, M., Conseil, B.J., Guéhéneuc, Y.G., Baudry, B., Jézéquel, J.M.: Specification and detection of SOA antipatterns. In: Service-Oriented Computing, pp. 1–16. Springer (2012)

  • Newcomer, E.: Understanding Web Services: XML Soap, and UDDI. Addison-Wesley Professional, Reading (2002). Wsdl

    Google Scholar 

  • Ouni, A., Kessentini, M., Sahraoui, H., Boukadoum, M.: Maintainability defects detection and correction: a multi-objective approach. Autom. Softw. Eng. 20(1), 47–79 (2013)

    Article  Google Scholar 

  • Ouni, A., Gaikovina Kula, R., Kessentini, M., Inoue, K.: Web service antipatterns detection using genetic programming. In: Proceedings of the 2015 on Genetic and Evolutionary Computation Conference, GECCO’15, pp. 1351–1358 (2015a)

  • Ouni, A., Kessentini, M., Sahraoui, H., Inoue, K., Hamdi, M.S.: Improving multi-objective code-smells correction using development history. J. Syst. Softw. 105, 18–39 (2015b)

    Article  Google Scholar 

  • Ouni, A., Kessentini, M., Sahraoui, H., Inoue, K., Deb, K.: Multi-criteria code refactoring using search-based software engineering: an industrial case study. ACM Trans. Softw. Eng. Methodol. (TOSEM) 25(3), 23 (2016a)

    Article  Google Scholar 

  • Ouni, A., Salem, Z., Inoue, K., Soui, M.: SIM: an automated approach to improve web service interface modularization. In: International Conference on Web Services (ICWS), pp. 91–98 (2016b)

  • Ouni, A., Daagi, M., Kessentini, M., Bouktif, S., Gammoudi, M.M.: A machine learning-based approach to detect web service design defects. In: IEEE International Conference on Web Services (ICWS), pp. 532–539. IEEE (2017a)

  • Ouni, A., Kessentini, M., Inoue, K., O Cinneide, M.: Search-based web service antipatterns detection. IEEE Trans. Serv. Comput. 10(4), 603–617 (2017b)

    Article  Google Scholar 

  • Ouni, A., Kessentini, M., Ó Cinnéide, M., Sahraoui, H., Deb, K., Inoue, K.: More: a multi-objective refactoring recommendation approach to introducing design patterns and fixing code smells. J. Softw. Evolut. Process 29(5), e1843 (2017c)

    Article  Google Scholar 

  • Ouni, A., Wang, H., Kessentini, M., Inoue, K., Bouktif, S.: A hybrid approach for improving the design quality of web service interfaces. ACM Trans. Internet Technol. (TOIT) 19(1), 1–24 (2018)

    Article  Google Scholar 

  • Paixao, M., Harman, M., Zhang, Y.: Multi-objective Module Clustering for Kate, pp. 282–288. Springer International Publishing, Cham (2015)

    Google Scholar 

  • Paixao, M., Harman, M., Zhang, Y., Yu, Y.: An empirical study of cohesion and coupling: balancing optimization and disruption. IEEE Trans. Evolut. Comput. 22(3), 394–414 (2018)

    Article  Google Scholar 

  • Palma, F., Moha, N., Tremblay, G., Guéhéneuc, Y.G.: Specification and detection of SOA antipatterns in web services. In: Avgeriou, P., Zdun, U. (eds.) Software Architecture, pp. 58–73. Springer (2014)

  • Perepletchikov, M., Ryan, C., Frampton, K.: Cohesion metrics for predicting maintainability of service-oriented software. In: 7th International Conference on Quality Software, pp. 328–335 (2007a)

  • Perepletchikov, M., Ryan, C., Frampton, K., Tari, Z.: Coupling metrics for predicting maintainability in service-oriented designs. In: 18th Australian Software Engineering Conference, pp. 329–340 (2007b)

  • Perepletchikov, M., Ryan, C., Frampton, K., Schmidt, H.: Formalising service-oriented design. J. Softw. 3(2), 1–14 (2008)

    Article  Google Scholar 

  • Perepletchikov, M., Ryan, C., Tari, Z.: The impact of service cohesion on the analyzability of service-oriented software. IEEE Trans. Serv. Comput. 3(2), 89–103 (2010)

    Article  Google Scholar 

  • Poshyvanyk, D., Marcus, A.: The conceptual coupling metrics for object-oriented systems. In: IEEE International Conference on Software Maintenance (ICSME), pp. 469–478 (2006)

  • Praditwong, K., Harman, M., Yao, X.: Software module clustering as a multi-objective search problem. IEEE Trans. Softw. Eng. 37(2), 264–282 (2011)

    Article  Google Scholar 

  • Rodriguez, J.M., Crasso, M., Zunino, A., Campo, M.: Automatically detecting opportunities for web service descriptions improvement. In: Software Services for e-World, pp. 139–150. Springer (2010)

  • Rodriguez, J.M., Crasso, M., Mateos, C., Zunino, A.: Best practices for describing, consuming, and discovering web services: a comprehensive toolset. Softw. Pract. Exp. 43(6), 613–639 (2013)

    Article  Google Scholar 

  • Romano, D., Pinzger, M.: Analyzing the evolution of web services using fine-grained changes. In: IEEE International Conference on Web Services (ICWS), pp. 392–399 (2012)

  • Romano, D., Pinzger, M.: A genetic algorithm to find the adequate granularity for service interfaces. In: 2014 IEEE World Congress on Services (SERVICES), pp. 478–485. IEEE (2014)

  • Romano, D., Raemaekers, S., Pinzger, M.: Refactoring fat interfaces using a genetic algorithm. In: 2014 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 351–360. IEEE (2014)

  • Rotem-Gal-Oz, A.: SOA Patterns. Manning Publications, Shelter Island (2012)

    Google Scholar 

  • Seng, O., Bauer, M., Biehl, M., Pache, G.: Search-based improvement of subsystem decompositions. In: Proceedings of the 7th Annual Conference on Genetic and Evolutionary Computation, pp. 1045–1051. ACM (2005)

  • Stewart, K.J., Darcy, D.P., Daniel, S.L.: Opportunities and challenges applying functional data analysis to the study of open source software evolution. Stat. Sci. 21, 167–178 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  • Torkamani, M.A., Bagheri, H.: A systematic method for identification of anti-patterns in service oriented system development. Int. J. Electr. Comput. Eng. 4(1), 16–23 (2014)

    Google Scholar 

  • Wang, H., Kessentini, M., Ouni, A.: Interactive refactoring of web service interfaces using computational search. IEEE Trans. Serv. Comput. (TSC) (2018). https://doi.org/10.1109/TSC.2017.2787152

    Google Scholar 

  • Wen, Z., Tzerpos, V.: An effectiveness measure for software clustering algorithms. In: International Workshop on Program Comprehension, pp. 194–203 (2004)

  • Zhang, X., Tian, Y., Jin, Y.: A knee point-driven evolutionary algorithm for many-objective optimization. IEEE Trans. Evolut. Comput. 19(6), 761–776 (2015)

    Article  Google Scholar 

Download references

Acknowledgements

This work is partially supported by NSERC Discovery Grant (Grant No. RGPIN-2018-05960), and by the Research Start-up (2) 2016 Grant G00002211 funded by UAE University.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ali Ouni.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Boukharata, S., Ouni, A., Kessentini, M. et al. Improving web service interfaces modularity using multi-objective optimization. Autom Softw Eng 26, 275–312 (2019). https://doi.org/10.1007/s10515-019-00256-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-019-00256-4

Keywords

Navigation