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.
Similar content being viewed by others
References
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
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
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
Koenig A (1998) Patterns and antipatterns. In: Rising L (ed) The patterns handbooks. Cambridge University Press, New York, NY, USA, pp 383–389
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
Sedgwick P (2018) Spearman’s rank correlation coefficient. BMJ 362:k4131. https://doi.org/10.1136/bmj.k4131
Erl T (2005) Service-oriented architecture: concepts, technology, and design. Prentice Hall PTR. Pearson, London, England
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
Miller GA (1995) WordNet: a lexical database for English. Commun ACM 38(11):39–41
Ouni A Experimental data. https://github.com/ouniali/WSantipatterns (accessed)
Acknowledgements
The authors thank Saman Pajooh Company for its endless efforts and support in implementing the required software and conducting experiments.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Esmaeilyfard, R. Improving detection of web service antipatterns using crowdsourcing. J Supercomput 78, 6340–6370 (2022). https://doi.org/10.1007/s11227-021-04134-3
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-021-04134-3