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.
KeywordsSoftware evolution Web services Lehman’s laws
We would like to thank the reviewers of the paper for their helpful comments. This work was supported from the European Community’s FP7/2007-2013 under grant agreement number 257178 (project CHOReOS).
- 5.Fokaefs, M., Mikhaiel, R., Tsantalis, N., Stroulia, E., Lau, A.: An empirical study on web service evolution. In: Proceedings of the 18th IEEE International Conference on Web Services (ICWS), pp. 49–56 (2011)Google Scholar
- 6.Fokaefs, M., Stroulia, E.: Using WADL specifications to develop and maintain REST client applications. In: Proceedings of the 22nd IEEE International Conference on Web Services (ICWS), pp. 81–88 (2015)Google Scholar
- 7.Godfrey, M.W., Tu, Q.: Evolution in open source software: a case study. In: Proceedings of the 16th IEEE International Conference on Software Maintenance (ICSM), pp. 131–142 (2000)Google Scholar
- 8.Herraiz, I., Robles, G., Gonzalez-Barahona, J.M., Capiluppi, A., Ramil, J.F.: Comparison between SLOCs and number of files as size metrics for software evolution analysis. In: Proceedings of the 10th IEEE European Conference on Software Maintenance and Reengineering (CSMR), pp. 206–213 (2006)Google Scholar
- 11.Lehman, M.M., Fernandez-Ramil, J.C.: Rules and tools for software evolution planning and management. In: Madhavji, N., Fernandez-Ramil, J.C., Perry, D. (eds.) Software Evolution and Feedback: Theory and Practice. Wiley, New York (2006)Google Scholar
- 12.Lehman, M.M., Fernandez-Ramil, J.C., Perry, D.E.: On evidence supporting the FEAST hypothesis and the laws of software evolution. In: Proceedings of the 5th IEEE International Software Metrics Symposium (METRICS), pp. 84–88 (1998)Google Scholar
- 13.Martin, R.C.: Clean Code. Prentice Hall, Upper Saddle River (2009)Google Scholar
- 15.Romano, D., Pinzger, M.: Analyzing the evolution of web services using fine-grained changes. In: Proceedings of the 19th IEEE International Conference on Web Services (ICWS), pp. 392–399 (2012)Google Scholar
- 17.Skoulis, I., Vassiliadis, P., Zarras, A.: Open-source databases: within, outside, or beyond Lehman’s laws of software evolution? In: Jarke, M., Mylopoulos, J., Quix, C., Rolland, C., Manolopoulos, Y., Mouratidis, H., Horkoff, J. (eds.) CAiSE 2014. LNCS, vol. 8484, pp. 379–393. Springer, Heidelberg (2014)Google Scholar
- 18.Xie, G., Chen, J., Neamtiu, I.: Towards a better understanding of software evolution: an empirical study on open source software. In: Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM), pp. 51–60 (2009)Google Scholar