WSDarwin: Studying the Evolution of Web Service Systems

  • Marios Fokaefs
  • Eleni Stroulia


The service-oriented architecture paradigm prescribes the development of systems through the composition of services, i.e., network-accessible components, specified by (and invoked through) their interface descriptions. Systems thus developed need to be aware of changes in, and evolve with, their constituent services. Therefore, the accurate recognition of changes in the specification of a service is an essential functionality in supporting the software lifecycle of service-oriented systems. In this chapter, we extend our previous empirical study on the evolution of web-service interfaces and we classify the identified changes according to their impact on client applications. To better understand the evolution of web services, and, more importantly, to facilitate the systematic and automatic maintenance of web-service systems, we introduce WSDarwin, a specialized differencing method for web services. Finally, we discuss the application of such a comparison method on operation- (WSDL) and resource-centric (REST) web services.


Service Interface Client Application Edit Operation Fuzzy Mapping Service Change 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



The authors would like to acknowledge the generous support of NSERC, iCORE, and IBM.


  1. 1.
    Andrikopoulos, V., Benbernou, S., Papazoglou, M.P.: Managing the evolution of service specifications. In: CAiSE ’08, pp. 359–374. Springer-Verlag, Berlin, Heidelberg (2008)Google Scholar
  2. 2.
    Aversano, L., Bruno, M., Penta, M.D., Falanga, A., Scognamiglio, R.: Visualizing the Evolution of Web Services using Formal Concept Analysis. 8th International Workshop on Principles of Software, Evolution pp. 57–60 (2005)Google Scholar
  3. 3.
    Chawathe, S.S., Rajaraman, A., Garcia-Molina, H., Widom, J.: Change Detection in Hierarchically Structured Information. ACM Sigmod Internation Conference on Management of Data pp. 493–504 (1996)Google Scholar
  4. 4.
    Elio, R., Stroulia, E., Blanchet, W.: Using interaction models to detect and resolve inconsistencies in evolving service compositions. Web Intelli. and Agent Sys. 7(2), 139–160 (2009)Google Scholar
  5. 5.
    Fluri, B., Würsch, M., Pinzger, M., Gall, H.C.: Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction. IEEE Transactions on Software Engineering 33(11), 725–743 (2007)Google Scholar
  6. 6.
    Fokaefs, M., Mikhaiel, R., Tsantalis, N., Stroulia, E., Lau, A.: An empirical study on web service evolution. In: ICWS 2011, pp. 49–56 (2011)Google Scholar
  7. 7.
    Fokaefs, M., Stroulia, E.: Wsdarwin: Automatic web service client adaptation. In: CASCON ’12 (2012)Google Scholar
  8. 8.
    Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring Improving the Design of Existing Code. Addison Wesley, Boston, MA (1999)Google Scholar
  9. 9.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software, 1 edn. Addison-Wesley Professional (1994)Google Scholar
  10. 10.
    Kelter, U., Wehren, J., Niere, J.: A Generic Difference Algorithm for UML Models. Software Engineering 2005, Fachtagung des GI-Fachbereichs Softwaretechnik pp. 105–116 (2005)Google Scholar
  11. 11.
    Pasquale, L., Laredo, J., Ludwig, H., Bhattacharya, K., Wassermann, B.: Distributed cross-domain configuration management. In: Proceedings of the 7th International Joint Conference on Service-Oriented Computing, ICSOC-ServiceWave ’09, pp. 622–636 (2009)Google Scholar
  12. 12.
    Ryu, S.H., Casati, F., Skogsrud, H., Benatallah, B., Saint-Paul, R.: Supporting the Dynamic Evolution of Web Service Protocols in Service-Oriented Architectures. ACM Transactions on the Web 2(2), 1–46 (2008)Google Scholar
  13. 13.
    Wang, S., Capretz, M.A.M.: A Dependency Impact Analysis Model for Web Services Evolution. IEEE International Conference on Web Services pp. 359–365 (2009)Google Scholar
  14. 14.
    Xing, Z.: Model Comparison with GenericDiff. 25th IEEE/ACM International Conference on, Automated Software Engineering pp. 135–138 (2010)Google Scholar
  15. 15.
    Xing, Z., Stroulia, E.: Analyzing the Evolutionary History of the Logical Design of Object-Oriented Software. IEEE Transactions on Software Engineering 31(10), 850–868 (2005)Google Scholar
  16. 16.
    Xing, Z., Stroulia, E.: Refactoring Detection based on UMLDiff Change-Facts Queries. 13th Working Conference on Reverse Engineering pp. 263–274 (2006)Google Scholar
  17. 17.
    Zhang, K., Shasha, D.: Simple fast algorithms for the editing distance between trees and related problems. SIAM Journal on Computing 18, 1245–1262 (1989)Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  1. 1.Department of Computing ScienceUniversity of AlbertaEdmontonCanada

Personalised recommendations