Search-Based Web Service Antipatterns Detection

Service Oriented Architecture (SOA) is widely used in industry and is regarded as one of the preferred architectural design technologies. As with any other software system, service-based systems (SBSs) may suffer from poor design, i.e., antipatterns, for many reasons such as poorly planned changes, time pressure or bad design choices. Consequently, this may lead to an SBS product that is difficult to evolve and that exhibits poor quality of service (QoS). Detecting web service antipatterns is a manual, time-consuming and error-prone process for software developers. In this paper, we propose an automated approach for detection of web service antipatterns using a cooperative parallel evolutionary algorithm (P-EA). The idea is that several detection methods are combined and executed in parallel during an optimization process to find a consensus regarding the identification of web service antipatterns. We report the results of an empirical study using eight types of common web service antipatterns. We compare the implementation of our cooperative P-EA approach with random search, two single population-based approaches and one state-of-the-art detection technique not based on heuristic search. Statistical analysis of the obtained results demonstrates that our approach is efficient in antipattern detection, with a precision score of 89 percent and a recall score of 93 percent.

[1]  M. Mäntylä,et al.  Subjective evaluation of software evolvability using code smells: An empirical study , 2006, Empirical Software Engineering.

[2]  Mark Hansen,et al.  SOA Using Java Web Services , 2007 .

[3]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[4]  Yann-Gaël Guéhéneuc,et al.  Specification and Detection of SOA Antipatterns in Web Services , 2014, ECSA.

[5]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[6]  Nicholas Kushmerick,et al.  ASSAM: A Tool for Semi-automatically Annotating Semantic Web Services , 2004, SEMWEB.

[7]  Erick Cantú-Paz,et al.  A Survey of Parallel Genetic Algorithms , 2000 .

[8]  Jean-Marc Jézéquel,et al.  Specification and Detection of SOA Antipatterns , 2012, 2014 IEEE International Conference on Software Maintenance and Evolution.

[9]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[10]  Karthikeyan Ponnalagu,et al.  Measuring the Quality of Service Oriented Design , 2009, ICSOC/ServiceWave.

[11]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[12]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[13]  Ricardo Baeza-Yates,et al.  Information Retrieval: Data Structures and Algorithms , 1992 .

[14]  Katsuro Inoue,et al.  Web Service Antipatterns Detection Using Genetic Programming , 2015, GECCO.

[15]  Gabriele Bavota,et al.  Detecting bad smells in source code using change history information , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[16]  Radu Marinescu,et al.  Detection strategies: metrics-based rules for detecting design flaws , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[17]  D. Fogel Evolutionary algorithms in theory and practice , 1997, Complex..

[18]  Roberto Chinnici,et al.  Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language , 2007 .

[19]  José Luis,et al.  A voiding WSDL Bad Practices in Code-First Web Services , 2011 .

[20]  Eric Mayer Service Oriented Computing Semantics Processes Agents , 2016 .

[21]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[22]  Alejandro Zunino,et al.  Predicting Web Service Maintainability via Object-Oriented Metrics: A Statistics-Based Approach , 2012, ICCSA.

[23]  Alejandro Zunino,et al.  Estimating Web Service interface quality through conventional object-oriented metrics , 2013, CLEI Electron. J..

[24]  Alejandro Zunino,et al.  Detecting WSDL bad practices in code-first Web Services , 2011, Int. J. Web Grid Serv..

[25]  Houari A. Sahraoui,et al.  A Cooperative Parallel Search-Based Software Engineering Approach for Code-Smells Detection , 2014, IEEE Transactions on Software Engineering.

[26]  Yann-Gaël Guéhéneuc,et al.  DECOR: A Method for the Specification and Detection of Code and Design Smells , 2010, IEEE Transactions on Software Engineering.

[27]  David Osborne,et al.  J2EE AntiPatterns , 2003 .

[28]  Zahir Tari,et al.  The Impact of Service Cohesion on the Analyzability of Service-Oriented Software , 2010, IEEE Transactions on Services Computing.

[29]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[30]  Jeffrey V. Nickerson,et al.  Developing web services choreography standards - the case of REST vs. SOAP , 2005, Decis. Support Syst..

[31]  Houari A. Sahraoui,et al.  Maintainability defects detection and correction: a multi-objective approach , 2013, Automated Software Engineering.

[32]  Hamid Bagheri,et al.  A Systematic Method for Identification of Anti-patterns in Service Oriented System Development , 2014 .

[33]  M. Brian Blake,et al.  Taming Web Services from the Wild , 2008, IEEE Internet Computing.

[34]  Alejandro Zunino,et al.  Best practices for describing, consuming, and discovering web services: a comprehensive toolset , 2013, Softw. Pract. Exp..

[35]  Leon Moonen,et al.  Java quality assurance by detecting code smells , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[36]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[37]  Marcelo R. Campo,et al.  Automatically Detecting Opportunities for Web Service Descriptions Improvement , 2010, I3E.

[38]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

[39]  Jaroslav Král,et al.  Popular SOA Antipatterns , 2009, 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns.

[40]  Alejandro Zunino,et al.  Discoverability anti-patterns: frequent ways of making undiscoverable Web Service descriptions , 2009 .

[41]  A. E. Eiben,et al.  Parameter tuning for configuring and analyzing evolutionary algorithms , 2011, Swarm Evol. Comput..

[42]  Jaroslav Kr,et al.  Crucial Service-Oriented Antipatterns , 2009 .

[43]  Enrique Alba,et al.  Parallel Metaheuristics: A New Class of Algorithms , 2005 .

[44]  Alejandro Zunino,et al.  A tool to improve code‐first Web services discoverability through text mining techniques , 2015, Softw. Pract. Exp..