Skip to main content

Improving detection of web service antipatterns using crowdsourcing

Abstract

Web services design may suffer lousy design choices, i.e., antipatterns. These antipatterns often lead to software that is difficult to maintain and evolve. So far, manual and automated methods have been proposed for identifying these antipatterns. But these methods either require a lot of time by professionals or have the problem of uncertainty. This paper presents a solution based on crowdsourcing. This solution can improve the performance of other methods by using crowd wisdom and teamwork. The proposed crowdsourcing solution is introduced in four phases, including task design, task assignment and submission, task validation, and task aggregation. First, the services are placed in a repository to be distributed among different users. The antipatterns detection of an instance of a service is assigned to two divisions of agents and ordinary users. Then the feedbacks are submitted, and the reliability of this feedbacks is determined. The proposed reliability mechanism checks the bias, lack of user expertise, or spam by examining the consistency with the majority view and the trend of user feedback and filters out unreliable comments. Finally, feedbacks are aggregated. Two methods of user study and simulation are considered for performance evaluation. The user study is conducted to gain the performance and comparison of the proposed approach. This study indicates that crowdsourcing does not have a bias toward any specific technologies. The Mann–Whitney test also reveals a significant difference with other approaches with an average precision and recall scores of 91% and 94%. The simulation is also performed to study the long-term behavior of users. The results show that the proposed approach could push out biased feedbacks.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Notes

  1. 1.

    https://www.wikipedia.org/.

  2. 2.

    https://www.waze.com/.

  3. 3.

    https://stackoverflow.com/.

  4. 4.

    https://www.experts-exchange.com/.

  5. 5.

    https://dotnet.microsoft.com/apps/aspnet.

  6. 6.

    https://github.com/gtathub/js-soap-client

  7. 7.

    http://www.programmableweb.com.

  8. 8.

    https://github.com/LanternYing/Dataset.

References

  1. 1.

    Niknejad N, Ismail W, Ghani I, Nazari B, Bahari M, Hussin ARBC (2020) Understanding service-oriented architecture (SOA): a systematic literature review and directions for further investigation. Inf Syst 91:101491. https://doi.org/10.1016/j.is.2020.101491

    Article  Google Scholar 

  2. 2.

    Eyuphan O (2020) A general overview of RESTful web services. In: Zeynep A (ed) Applications and approaches to object-oriented software design: emerging research and opportunities. IGI Global, Hershey, pp 133–165

    Google Scholar 

  3. 3.

    Sunyaev A (2020) Web Services. In: Sunyaev A (ed) Internet computing: principles of distributed systems and emerging internet-based technologies. Springer International Publishing, Cham, pp 155–194

    Chapter  Google Scholar 

  4. 4.

    Koenig A (1998) Patterns and antipatterns. In: Rising L (ed) The patterns handbooks. Cambridge University Press, New York, NY, USA, pp 383–389

    Google Scholar 

  5. 5.

    Abid C, Kessentini M, Wang H (2020) Early prediction of quality of service using interface-level metrics, code-level metrics, and antipatterns. Inf Softw Technol 126:106313. https://doi.org/10.1016/j.infsof.2020.106313

    Article  Google Scholar 

  6. 6.

    Palma F, Moha N, Gueheneuc Y-G (2019) UniDoSA: the unified specification and detection of service antipatterns. IEEE Trans Softw Eng 45(10):1024–1053. https://doi.org/10.1109/tse.2018.2819180

    Article  Google Scholar 

  7. 7.

    Ouni A, Kessentini M, Inoue K, Cinneide MO (2017) Search-based web service antipatterns detection. IEEE Trans Serv Comput 10(4):603–617. https://doi.org/10.1109/tsc.2015.2502595

    Article  Google Scholar 

  8. 8.

    Bhatti SS, Gao X, Chen G (2020) General framework, opportunities and challenges for crowdsourcing techniques: a Comprehensive survey. J Syst Softw 167:110611. https://doi.org/10.1016/j.jss.2020.110611

    Article  Google Scholar 

  9. 9.

    Al-Aufi ASS, Al-Harrasi N, Al-Abri A (2021) The effectiveness of using crowdsourcing for improving information services: an action research approach, Library Hi Tech, ahead-of-print: ahead-of-print, doi: https://doi.org/10.1108/LHT-08-2020-0192

  10. 10.

    Wang J et al (2021) Characterizing crowds to better optimize worker recommendation in crowdsourced testing. IEEE Trans Softw Eng 47(6):1259–1276. https://doi.org/10.1109/TSE.2019.2918520

    Article  Google Scholar 

  11. 11.

    Alkharabsheh K, Crespo Y, Manso E, Taboada JA (2019) Software Design Smell Detection: a systematic mapping study. Softw Qual J 27(3):1069–1148. https://doi.org/10.1007/s11219-018-9424-8

    Article  Google Scholar 

  12. 12.

    Král J, Žemlicka M (2009) Popular SOA antipatterns. In: 2009 computation world: future computing, service computation, cognitive, adaptive, content, patterns. IEEE, pp. 271–276, doi: https://doi.org/10.1109/ComputationWorld.2009.80

  13. 13.

    Rodriguez JM, Crasso M, Zunino A, Campo M (2010) Automatically detecting opportunities for web service descriptions improvement. In: Conference on e-Business, e-Services and e-Society, Springer, pp. 139–150, doi: https://doi.org/10.1007/978-3-642-16283-1_18

  14. 14.

    Palma F, Moha N, Tremblay G, Guéhéneuc YG (2014) Specification and detection of SOA antipatterns in web services. In: European Conference on Software Architecture, Springer, pp. 58–73, doi: https://doi.org/10.1007/978-3-319-09970-5_6

  15. 15.

    Mohammadnia S, Esmaeilyfard R, Akbari R (2021) An efficient method for automatic antipatterns detection of REST web services. J Web Eng 20(6):1761–1780. https://doi.org/10.13052/jwe1540-9589.2063

    Article  Google Scholar 

  16. 16.

    Tummalapalli S, Kumar L, Bhanu Murthy NL (2020) Detection of web service antipatterns using machine learning framework. In: Singh J, Bilgaiyan S, Mishra BSP, Dehuri S (eds) A journey towards bio-inspired techniques in software engineering. Springer International Publishing, Cham, pp 189–210

    Chapter  Google Scholar 

  17. 17.

    Kumar L, Sureka A (2018) An empirical analysis on web service anti-pattern detection using a machine learning framework. In: IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), IEEE, pp. 2–11, doi: https://doi.org/10.1109/COMPSAC.2018.00010.

  18. 18.

    Rebai S, Kessentini M, Wang H, Maxim B (2020) Web service design defects detection: a bi-level multi-objective approach. Inf Softw Technol 121:106255. https://doi.org/10.1016/j.infsof.2019.106255

    Article  Google Scholar 

  19. 19.

    Saidani I, Ouni A, Mkaouer MW (2020) Web service API antipatterns detection as a multi-label learning problem. In: Ku WS, Kanemasa Y, Serhani MA, Zhang LJ (eds) Web services—ICWS 2020. Springer International Publishing, Cham, pp 114–132

    Chapter  Google Scholar 

  20. 20.

    Brabra H et al (2019) On semantic detection of cloud API (anti)patterns. Inform Softw Technol 107:65–82. https://doi.org/10.1016/j.infsof.2018.10.012

    Article  Google Scholar 

  21. 21.

    Alshraiedeh FS, Katuk N (2021) A URI parsing technique and algorithm for anti-pattern detection in RESTful Web services. Int J Web Inform Syst 17(1):1–17. https://doi.org/10.1108/IJWIS-08-2020-0052

    Article  Google Scholar 

  22. 22.

    Atlidakis V, Godefroid P, Polishchuk M (2019) RESTler: stateful REST API fuzzing. In: 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), pp. 748–758, doi: https://doi.org/10.1109/ICSE.2019.00083

  23. 23.

    Liu P, Jin F (2012) Methods for aggregating intuitionistic uncertain linguistic variables and their application to group decision making. Inf Sci 205:58–71. https://doi.org/10.1016/j.ins.2012.04.014

    MathSciNet  Article  MATH  Google Scholar 

  24. 24.

    Malik Z, Bouguettaya A (2009) RATEWeb: reputation assessment for trust establishment among web services. VLDB J 18(4):885–911. https://doi.org/10.1007/s00778-009-0138-1

    Article  Google Scholar 

  25. 25.

    Noor TH, Sheng QZ (2011) Trust as a service: a framework for trust management in cloud environments. In: International Conference on Web Information Systems Engineering, Springer, pp. 314–321, doi: https://doi.org/10.1007/978-3-642-24434-6_27

  26. 26.

    Sedgwick P (2018) Spearman’s rank correlation coefficient. BMJ 362:k4131. https://doi.org/10.1136/bmj.k4131

    Article  Google Scholar 

  27. 27.

    Erl T (2005) Service-oriented architecture: concepts, technology, and design. Prentice Hall PTR. Pearson, London, England

  28. 28.

    Chen F, Lu C, Wu H, Li M (2017) A semantic similarity measure integrating multiple conceptual relationships for web service discovery. Expert Syst Appl 67:19–31. https://doi.org/10.1016/j.eswa.2016.09.028

    Article  Google Scholar 

  29. 29.

    Miller GA (1995) WordNet: a lexical database for English. Commun ACM 38(11):39–41

    Article  Google Scholar 

  30. 30.

    Ouni A Experimental data. https://github.com/ouniali/WSantipatterns (accessed)

Download references

Acknowledgements

The authors thank Saman Pajooh Company for its endless efforts and support in implementing the required software and conducting experiments.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Rasool Esmaeilyfard.

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

Verify currency and authenticity via CrossMark

Cite this article

Esmaeilyfard, R. Improving detection of web service antipatterns using crowdsourcing. J Supercomput (2021). https://doi.org/10.1007/s11227-021-04134-3

Download citation

Keywords

  • Crowdsourcing
  • Design defects
  • Service-oriented architecture (SOA)
  • Antipatterns
  • Software quality
  • Interface