Advertisement

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

  • Apostolos V. Zarras
  • Panos VassiliadisEmail author
  • Ioannis Dinos
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9694)

Abstract

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.

Keywords

Software evolution Web services Lehman’s laws 

Notes

Acknowledgments

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).

References

  1. 1.
    Andrikopoulos, V., Benbernou, S., Papazoglou, M.P.: On the evolution of services. IEEE Trans. Softw. Eng. 38(3), 609–628 (2012)CrossRefGoogle Scholar
  2. 2.
    Athanasopoulos, D., Zarras, A., Miskos, G., Issarny, V., Vassiliadis, P.: Cohesion-driven decomposition of service interfaces without access to source code. IEEE Trans. Serv. Comput. 8(4), 550–562 (2015)CrossRefGoogle Scholar
  3. 3.
    Belady, L.A., Lehman, M.M.: A model of large program development. IBM Syst. J. 15(3), 225–252 (1976)CrossRefzbMATHGoogle Scholar
  4. 4.
    Espinha, T., Zaidman, A., Gross, H.G.: Web API growing pains: loosely coupled yet strongly tied. J. Syst. Softw. 100, 27–43 (2015)CrossRefGoogle Scholar
  5. 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. 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. 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. 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
  9. 9.
    Herraiz, I., Rodriguez, D., Robles, G., Gonzalez-Barahona, J.M.: The evolution of the laws of software evolution: a discussion based on a systematic literature review. ACM Comput. Surv. 46(2), 1–28 (2013)CrossRefGoogle Scholar
  10. 10.
    Koch, S.: Software evolution in open source projects: a large-scale investigation. J. Softw. Maint. Evol. 19(6), 361–382 (2007)CrossRefGoogle Scholar
  11. 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. 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. 13.
    Martin, R.C.: Clean Code. Prentice Hall, Upper Saddle River (2009)Google Scholar
  14. 14.
    Perepletchikov, M., Ryan, C., Tari, Z.: The impact of service cohesion on the analyzability of service-oriented software. IEEE Trans. Serv. Comput. 3(2), 89–103 (2010)CrossRefGoogle Scholar
  15. 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
  16. 16.
    Siebel, N.T., Cook, S., Satpathy, M., Rodríguez, D.: Latitudinal and longitudinal process diversity. J. Softw. Maint. 15(1), 9–25 (2003)CrossRefzbMATHGoogle Scholar
  17. 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. 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

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Apostolos V. Zarras
    • 1
  • Panos Vassiliadis
    • 1
    Email author
  • Ioannis Dinos
    • 1
  1. 1.Department of Computer Science and EngineeringUniversity of IoanninaIoanninaGreece

Personalised recommendations