Skip to main content

Web Service API Anti-patterns Detection as a Multi-label Learning Problem

  • Conference paper
  • First Online:
Web Services – ICWS 2020 (ICWS 2020)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12406))

Included in the following conference series:

Abstract

Anti-patterns are symptoms of poor design and implementation solutions applied by developers during the development of their software systems. Recent studies have identified a variety of Web service anti-patterns and defined them as sub-optimal solutions that result from bad design choices, time pressure, or lack of developers experience. The existence of anti-patterns often leads to software systems that are hard to understand, reuse, and discover in practice. Indeed, it has been shown that service designers and developers tend to pay little attention to their service interfaces design. Web service antipatterns detection is a non-trivial and error-prone task as different anti-pattern types typically have interleaving symptoms that can be subjectively interpreted and hence detected in different ways. In this paper, we introduce an automated approach that learns from a set of interleaving Web service design symptoms that characterize the existence of anti-pattern instances in a service-based system. We build a multi-label learning model to detect 8 common types of Web service anti-patterns. We use the ensemble classifier chain (ECC) model that transforms multi-label problems into several single-label problems which are solved using genetic programming (GP) to find the optimal detection rules for each anti-pattern type. To evaluate the performance of our approach, we conducted an empirical study on a benchmark of 815 Web services. The statistical tests of our results show that our approach can detect the eight Web service antipattern types with an average F-measure of 93% achieving a better performance compared to different state-of-the-art techniques. Furthermore, we found that the most influential factors that best characterize Web service anti-patterns include the number of declared operations, the number of port types, and the number of simple and complex types in service interfaces.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html.

  2. 2.

    http://gromit.iiar.pwr.wroc.pl/p_inf/ckjm/.

References

  1. Replication package (2020). https://github.com/WS-antipatterns/dataset

  2. Almarimi, N., Ouni, A., Bouktif, S., Mkaouer, M.W., Kula, R.G., Saied, M.A.: Web service api recommendation for automated mashup creation using multi-objective evolutionary search. Appl. Soft Comput. 85, 105830 (2019)

    Article  Google Scholar 

  3. Almarimi, N., Ouni, A., Chouchen, M., Saidani, Islem, M.M.W.: On the detection of community smells using genetic programming-based ensemble classifier chain. In: International Conference on Global Software Engineering, pp. 1–12 (2020)

    Google Scholar 

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

    Article  Google Scholar 

  5. de Carvalho, A.C.P.L.F., Freitas, A.A.: A Tutorial on Multi-label Classification Techniques, pp. 177–195 (2009)

    Google Scholar 

  6. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)

    Article  Google Scholar 

  7. Cohen, J.: Statistical power analysis for the behavioral sciences. Academic Press (1988)

    Google Scholar 

  8. Coscia, J.L.O., Crasso, M., Mateos, C., Zunino, A.: Estimating web service interface quality through conventional object-oriented metrics. CLEI E. 16(1) 2056–2101 (2013)

    Google Scholar 

  9. 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 (2017)

    Google Scholar 

  10. Daigneau, R.: Service Design Patterns: fundamental design solutions for SOAP/WSDL and restful Web Services. Addison-Wesley (2011)

    Google Scholar 

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

    Article  Google Scholar 

  12. Dudney, B., Krozak, J., Wittkopf, K., Asbury, S., Osborne, D.: J2EE Antipatterns. Wiley, Hoboken (2003)

    Google Scholar 

  13. John, R., Koza, M.: Genetic programming: On programming computers by means of natural selection and genetics. In: Association for Computing Machinery, MIT Press, Cambridge (1992)

    Google Scholar 

  14. Kessentini, M., Ouni, A.: Detecting android smells using multi-objective genetic programming. In: IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft), pp. 122–132 (2017)

    Google Scholar 

  15. Král, J., Žemlička, M.: Crucial service-oriented antipatterns. Int. J. Adv. Softw. 2(1), 160–171 (2009)

    Google Scholar 

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

    Google Scholar 

  17. Marinescu, R.: Detection strategies: metrics-based rules for detecting design flaws. In: 2013 IEEE International Conference on Software Maintenance, pp. 350–359 (2004)

    Google Scholar 

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

    Google Scholar 

  19. Mateos, C., Zunino, A., Coscia, J.L.O.: Avoiding WSDL bad practices in code-first web services. SADIO Electron. J. Inform. Oper. Res. 11(1), 31–48 (2012)

    Google Scholar 

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

    Article  Google Scholar 

  21. 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 (2017)

    Google Scholar 

  22. Ouni, A., Gaikovina Kula, R., Kessentini, M., Inoue, K.: Web service antipatterns detection using genetic programming. In: Annual Conference on Genetic and Evolutionary Computation (GECCO), pp. 1351–1358 (2015)

    Google Scholar 

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

    Google Scholar 

  24. Ouni, A., Wang, H., Kessentini, M., Bouktif, S., Inoue, K.: 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 

  25. Palma, F., Moha, N., Tremblay, G., Gueheneuc, Y.G.: Specification and detection of SOA antipatterns in web services. In: Software Architecture, pp. 58–73 (2014)

    Google Scholar 

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

    Article  Google Scholar 

  27. 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 

  28. Read, J., Pfahringer, B., Holmes, G., Frank, E.: Classifier chains for multi-label classification. Mach. Learn. 85(3), 333 (2011)

    Article  MathSciNet  Google Scholar 

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

    Google Scholar 

  30. Rotem-Gal-Oz, A.: SOA Patterns. Manning Publications (2012)

    Google Scholar 

  31. Tsoumakas, G., Katakis, I.: Multi-label classification: an overview. Int. J. Data Warehous. Min. 3(3), 1–13 (2007)

    Article  Google Scholar 

  32. Wang, H., Kessentini, M., Ouni, A.: Bi-level identification of web service defects. In: International Conference on Service-Oriented Computing, pp. 352–368 (2016)

    Google Scholar 

  33. Wang, H., Kessentini, M., Ouni, A.: Interactive refactoring of web service interfaces using computational search. IEEE Trans. Serv. Comput. 3 6–12 (2017)

    Google Scholar 

  34. Wang, H., Ouni, A., Kessentini, M., Maxim, B., Grosky, W.I.: Identification of web service refactoring opportunities as a multi-objective problem. In: IEEE International Conference on Web Services (ICWS), pp. 586–593 (2016)

    Google Scholar 

  35. Zhang, M.L., Zhou, Z.H.: Ml-knn: a lazy learning approach to multi-label learning. Pattern Recogn. 40(7), 2038–2048 (2007)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ali Ouni .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Saidani, I., Ouni, A., Mkaouer, M.W. (2020). Web Service API Anti-patterns Detection as a Multi-label Learning Problem. In: Ku, WS., Kanemasa, Y., Serhani, M.A., Zhang, LJ. (eds) Web Services – ICWS 2020. ICWS 2020. Lecture Notes in Computer Science(), vol 12406. Springer, Cham. https://doi.org/10.1007/978-3-030-59618-7_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-59618-7_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-59617-0

  • Online ISBN: 978-3-030-59618-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics