Keep Calm and Wait for the Spike! Insights on the Evolution of Amazon Services

Web services are black box dependency magnets. Hence, studying how they evolve is both important and challenging. In this paper, we focus on one of the most successful stories of the service-oriented paradigm in industry, i.e., the Amazon services. We perform a principled empirical study, that detects evolution patterns and regularities, based on Lehman’s laws of software evolution. Our findings indicate that service evolution comes with spikes of change, followed by calm periods where the service is internally enhanced. Although spikes come with unpredictable volume, developers can count in the near certainty of the calm periods following them to allow their absorption. As deletions rarely occur, both the complexity and the exported functionality of a service increase over time (in fact, predictably). Based on the above findings, we provide recommendations that can be used by the developers of Web service applications for service selection and application maintenance.

[1]  Stefan Koch,et al.  Software evolution in open source projects - a large-scale investigation , 2007, J. Softw. Maintenance Res. Pract..

[2]  Meir M. Lehman,et al.  A Model of Large Program Development , 1976, IBM Syst. J..

[3]  Dewayne E. Perry,et al.  Software Evolution and Feedback: Theory and Practice , 2006 .

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

[5]  Manoranjan Satpathy,et al.  Latitudinal and longitudinal process diversity , 2003, J. Softw. Maintenance Res. Pract..

[6]  Iulian Neamtiu,et al.  Towards a better understanding of software evolution: An empirical study on open source software , 2009, 2009 IEEE International Conference on Software Maintenance.

[7]  Eleni Stroulia,et al.  Using WADL Specifications to Develop and Maintain REST Client Applications , 2015, 2015 IEEE International Conference on Web Services.

[8]  Andy Zaidman,et al.  Web API growing pains: Loosely coupled yet strongly tied , 2014, J. Syst. Softw..

[9]  Salima Benbernou,et al.  A survey on service quality description , 2013, CSUR.

[10]  Jesús M. González-Barahona,et al.  The evolution of the laws of software evolution , 2013, ACM Comput. Surv..

[11]  Meir M. Lehman,et al.  Rules and Tools for Software Evolution Planning and Management , 2001, Ann. Softw. Eng..

[12]  Daniele Romano,et al.  Analyzing the Evolution of Web Services Using Fine-Grained Changes , 2012, 2012 IEEE 19th International Conference on Web Services.

[13]  Jesús M. González-Barahona,et al.  Comparison between SLOCs and number of files as size metrics for software evolution analysis , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[14]  Eleni Stroulia,et al.  An Empirical Study on Web Service Evolution , 2011, 2011 IEEE International Conference on Web Services.

[15]  Dewayne E. Perry,et al.  On evidence supporting the FEAST hypothesis and the laws of software evolution , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).

[16]  Apostolos V. Zarras,et al.  Open-Source Databases: Within, Outside, or Beyond Lehman's Laws of Software Evolution? , 2014, CAiSE.

[17]  Valérie Issarny,et al.  Cohesion-Driven Decomposition of Service Interfaces without Access to Source Code , 2015, IEEE Transactions on Services Computing.

[18]  Salima Benbernou,et al.  On the Evolution of Services , 2012, IEEE Transactions on Software Engineering.

[19]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.