Advertisement

Omniscient DevOps Analytics

  • Damian Andrew TamburriEmail author
  • Dario Di Nucci
  • Lucio Di Giacomo
  • Fabio Palomba
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11350)

Abstract

DevOps predicates the continuity between Development and Operations teams at an unprecedented scale. Also, the continuity does not stop at tools, or processes but goes beyond into organizational practices, collaboration, co-located and coordinated effort. We conjecture that this unprecedented scale of continuity requires predictive analytics which are omniscient, that is (i) transversal to the technical, organizational, and social stratification in software processes and (ii) correlate all strata to provide a live and holistic snapshot of software development, its operations, and organization. Elaborating this conjecture, we illustrate a set of metrics to be used in the DevOps scenario and overview challenges and future research directions.

Keywords

Predictive analytics DevOps quality Organizational and technical aspects 

References

  1. 1.
    Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. SEI Series in Software Engineering. Addison-Wesley, New York (2015)Google Scholar
  2. 2.
    Yang, Y., Falessi, D., Menzies, T., Hihn, J.: Actionable analytics for software engineering. IEEE Softw. 35(1), 51–53 (2017)CrossRefGoogle Scholar
  3. 3.
    Magnoni, S., Tamburri, D.A., Di Nitto, E., Kazman, R.: Analyzing quality models for software communities. Communications of the ACM (2017, under review)Google Scholar
  4. 4.
    Software Quality Connection: Software quality connection (2015)Google Scholar
  5. 5.
    Crispin, L.: Driving software quality: how test-driven development impacts software quality. IEEE Softw. 23(6), 70–71 (2006)CrossRefGoogle Scholar
  6. 6.
    Watts, R.: Manufacturing Software Quality. NCC Publications, Manchester (1987)Google Scholar
  7. 7.
    Bavota, G., De Lucia, A., Di Penta, M., Oliveto, R., Palomba, F.: An experimental investigation on the innate relationship between quality and refactoring. J. Syst. Softw. 107, 1–14 (2015)CrossRefGoogle Scholar
  8. 8.
    Palomba, F., Zaidman, A.: Does refactoring of test smells induce fixing flaky tests? In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 1–12. IEEE (2017)Google Scholar
  9. 9.
    Palomba, F., Zaidman, A., Oliveto, R., De Lucia, A.: An exploratory study on the relationship between changes and refactoring. In: 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC), pp. 176–185. IEEE (2017)Google Scholar
  10. 10.
    Palomba, F., Panichella, A., Zaidman, A., Oliveto, R., De Lucia, A.: The scent of a smell: an extensive comparison between textual and structural smells. IEEE Trans. Softw. Eng. 44, 977–1000 (2017)CrossRefGoogle Scholar
  11. 11.
    Palomba, F., Bavota, G., Di Penta, M., Fasano, F., Oliveto, R., De Lucia, A.: On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation. Empir. Softw. Eng. 23(3), 1188–1221 (2018)CrossRefGoogle Scholar
  12. 12.
    Palomba, F., Bavota, G., Di Penta, M., Fasano, F., Oliveto, R., De Lucia, A.: A large-scale empirical study on the lifecycle of code smell co-occurrences. Inf. Softw. Technol. 99, 1–10 (2018)CrossRefGoogle Scholar
  13. 13.
    Tufano, M., et al.: When and why your code starts to smell bad (and whether the smells go away). IEEE Trans. Softw. Eng. 43(11), 1063–1088 (2017)CrossRefGoogle Scholar
  14. 14.
    Tufano, M., et al.: An empirical investigation into the nature of test smells. In: 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 4–15. IEEE (2016)Google Scholar
  15. 15.
    Spadini, D., Palomba, F., Zaidman, A., Bruntink, M., Bacchelli, A.: On the relation of test smells to software code quality. In: Proceedings of the International Conference on Software Maintenance and Evolution (ICSME). IEEE (2018)Google Scholar
  16. 16.
    Vassallo, C., Panichella, S., Palomba, F., Proksch, S., Zaidman, A., Gall, H.C.: Context is king: the developer perspective on the usage of static analysis tools. In: 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 38–49. IEEE (2018)Google Scholar
  17. 17.
    Catolino, G., Palomba, F., De Lucia, A., Ferrucci, F., Zaidman, A.: Enhancing change prediction models using developer-related factors. J. Syst. Softw. 143, 14–28 (2018)CrossRefGoogle Scholar
  18. 18.
    Di Nucci, D., Palomba, F., Tamburri, D.A., Serebrenik, A., De Lucia, A.: Detecting code smells using machine learning techniques: are we there yet? In: 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 612–621. IEEE (2018)Google Scholar
  19. 19.
    Di Nucci, D., Palomba, F., De Rosa, G., Bavota, G., Oliveto, R., De Lucia, A.: A developer centered bug prediction model. IEEE Trans. Softw. Eng. (2017, to appear)Google Scholar
  20. 20.
    Di Nucci, D., Panichella, A., Zaidman, A., De Lucia, A.: Hypervolume-based search for test case prioritization. In: Barros, M., Labiche, Y. (eds.) SSBSE 2015. LNCS, vol. 9275, pp. 157–172. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-22183-0_11CrossRefGoogle Scholar
  21. 21.
    Di Nucci, D., Palomba, F., Oliveto, R., De Lucia, A.: Dynamic selection of classifiers in bug prediction: an adaptive method. IEEE Trans. Emerg. Top. Comput. Intell. 1(3), 202–212 (2017)CrossRefGoogle Scholar
  22. 22.
    Moha, N., Guéhéneuc, Y.G., Duchien, L., Meur, A.F.L.: DECOR: a method for the specification and detection of code and design smells. IEEE Trans. Softw. Eng. 36(1), 20–36 (2010)zbMATHCrossRefGoogle Scholar
  23. 23.
    Palomba, F., Bavota, G., Di Penta, M., Oliveto, R., Poshyvanyk, D., De Lucia, A.: Mining version histories for detecting code smells. IEEE Trans. Softw. Eng. 41(5), 462–489 (2015)CrossRefGoogle Scholar
  24. 24.
    Palomba, F., Panichella, A., De Lucia, A., Oliveto, R., Zaidman, A.: A textual-based technique for smell detection. In: 2016 IEEE 24th International Conference on Program Comprehension (ICPC), pp. 1–10. IEEE (2016)Google Scholar
  25. 25.
    Palomba, F., Zanoni, M., Fontana, F.A., De Lucia, A., Oliveto, R.: Toward a smell-aware bug prediction model. IEEE Trans. Softw. Eng. (2017). https://ieeexplore.ieee.org/document/8097044
  26. 26.
    Palomba, F., Zaidman, A., De Lucia, A.: Automatic test smell detection using information retrieval techniques. In: International Conference on Software Maintenance and Evolution (ICSME). IEEE (2018, to appear)Google Scholar
  27. 27.
    Tsantalis, N., Chatzigeorgiou, A.: Identification of move method refactoring opportunities. IEEE Trans. Softw. Eng. 35(3), 347–367 (2009)CrossRefGoogle Scholar
  28. 28.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering. Addison-Wesley, Boston (2012)Google Scholar
  29. 29.
    Palomba, F., Bavota, G., Penta, M.D., Oliveto, R., Lucia, A.D.: Do they really smell bad? A study on developers’ perception of bad code smells. In: Proceedings of the International Conference on Software Maintenance and Evolution (ICSME), pp. 101–110. IEEE Computer Society (2014)Google Scholar
  30. 30.
    Kruchten, P., Nord, R.L., Ozkaya, I., Visser, J.: Technical debt in software development: from metaphor to theory report on the third international workshop on managing technical debt. In: ACM SIGSOFT Software Engineering Notes, vol. 37, no. 5, pp. 36–38 (2012)CrossRefGoogle Scholar
  31. 31.
    Tamburri, D.A., Lago, P., Vliet, H.V.: Organizational social structures for software engineering. ACM Comput. Surv. 46(1), 3:1–3:35 (2013)CrossRefGoogle Scholar
  32. 32.
    Palomba, F., Tamburri, D.A., Serebrenik, A., Zaidman, A., Fontana, F.A., Oliveto, R.: How do community smells influence code smells? In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceedings, pp. 240–241. ACM (2018)Google Scholar
  33. 33.
    Williams, L., Kessler, R.R.: Pair Programming Illuminated. Addison Wesley, Boston (2003)Google Scholar
  34. 34.
    Avelino, G., Passos, L.T., Hora, A.C., Valente, M.T.: A novel approach for estimating truck factors. In: 24th IEEE International Conference on Program Comprehension, ICPC 2016, Austin, TX, USA, 16–17 May 2016, pp. 1–10. IEEE Computer Society (2016)Google Scholar
  35. 35.
    Ferreira, M.M., Valente, M.T., Ferreira, K.A.M.: A comparison of three algorithms for computing truck factors. In Scanniello, G., Lo, D., Serebrenik, A. (eds.) Proceedings of the 25th International Conference on Program Comprehension, ICPC 2017, Buenos Aires, Argentina, 22–23 May 2017, pp. 207–217. IEEE Computer Society (2017)Google Scholar
  36. 36.
    Joblin, M., Mauerer, W., Apel, S., Siegmund, J., Riehle, D.: From developer networks to verified communities: a fine-grained approach. In: Bertolino, A., Canfora, G., Elbaum, S.G. (eds.) Proceedings of International Conference on Software Engineering (ICSE), pp. 563–573. IEEE Computer Society (2015)Google Scholar
  37. 37.
    Valetto, G., Helander, M., Ehrlich, K., Chulani, S., Wegman, M., Williams, C.: Using software repositories to investigate socio-technical congruence in development projects. In: International Workshop on Mining Software Repositories, p. 25 (2007). IEEE Computer Society, Los Alamitos. http://doi.ieeecomputersociety.org/10.1109/MSR.2007.33
  38. 38.
    Lin, B., Robles, G., Serebrenik, A.: Developer turnover in global, industrial open source projects: insights from applying survival analysis. In: Proceedings of the 12th International Conference on Global Software Engineering, pp. 66–75. IEEE Press (2017)Google Scholar
  39. 39.
    Nassif, M., Robillard, M.P.: Revisiting turnover-induced knowledge loss in software projects. In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 261–272. IEEE (2017)Google Scholar
  40. 40.
    Rigby, P.C., Zhu, Y.C., Donadelli, S.M., Mockus, A.: Quantifying and mitigating turnover-induced knowledge loss: case studies of chrome and a project at Avaya. In: Proceedings of the 38th International Conference on Software Engineering, pp. 1006–1016. ACM (2016)Google Scholar
  41. 41.
    Macdonald, I.G.: Symmetric Functions and Hall Polynomials. Oxford University Press, Oxford (1998)zbMATHGoogle Scholar
  42. 42.
    Vasilescu, B., et al.: Gender and tenure diversity in GitHub teams. In: Begole, B., Kim, J., Inkpen, K., Woo, W. (eds.) Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems, CHI 2015, Seoul, Republic of Korea, 18–23 April 2015, pp. 3789–3798. ACM (2015)Google Scholar
  43. 43.
    Constantinou, E., Mens, T.: Socio-technical evolution of the ruby ecosystem in GitHub. In: Pinzger, M., Bavota, G., Marcus, A. (eds.) SANER, pp. 34–44. IEEE Computer Society, Washington, DC (2017)Google Scholar
  44. 44.
    van den Eijnden, R.J.J.M., Lemmens, J.S., Valkenburg, P.M.: The social media disorder scale. Comput. Hum. Behav. 61, 478–487 (2016)CrossRefGoogle Scholar
  45. 45.
    Mislove, A., Marcon, M., Gummadi, K.P., Druschel, P., Bhattacharjee, B.: Measurement and analysis of online social networks (2007)Google Scholar
  46. 46.
    Kitchenham, B., Pickard, L., Pfleeger, S.L.: Case studies for method and tool evaluation. IEEE Softw. 12(4), 52–62 (1995)CrossRefGoogle Scholar
  47. 47.
    Zhou, Y., Leung, H., Xu, B.: Examining the potentially confounding effect of class size on the associations between object-oriented metrics and change-proneness. IEEE Trans. Softw. Eng. 35(5), 607–623 (2009)CrossRefGoogle Scholar
  48. 48.
    Moha, N., Gueheneuc, Y.G., Duchien, L., Le Meur, A.F.: DECOR: a method for the specification and detection of code and design smells. IEEE Trans. Softw. Eng. 36(1), 20–36 (2010)zbMATHCrossRefGoogle Scholar
  49. 49.
    Munson, J.C., Elbaum, S.G.: Code churn: a measure for estimating the impact of code change. In: 1998 Proceedings of International Conference on Software Maintenance, pp. 24–31. IEEE (1998)Google Scholar
  50. 50.
    Di Nucci, D., Palomba, F., De Rosa, G., Bavota, G., Oliveto, R., De Lucia, A.: A developer centered bug prediction model. IEEE Trans. Softw. Eng. 44, 5–24 (2017)CrossRefGoogle Scholar
  51. 51.
    Hassan, A.E.: Predicting faults using the complexity of code changes. In: Proceedings of the 31st International Conference on Software Engineering, pp. 78–88. IEEE Computer Society (2009)Google Scholar
  52. 52.
    Ostrand, T.J., Weyuker, E.J., Bell, R.M.: Predicting the location and number of faults in large software systems. IEEE Trans. Softw. Eng. 31(4), 340–355 (2005)CrossRefGoogle Scholar
  53. 53.
    Palomba, F., Bavota, G., Di Penta, M., et al.: On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation. Empir. Softw. Eng. 23, 1188 (2018).  https://doi.org/10.1007/s10664-017-9535-zCrossRefGoogle Scholar
  54. 54.
    Tamburri, D.A., Bersani, M.M., Mirandola, R., Pea, G.: DevOps service observability by-design: experimenting with model-view-controller. In: Kritikos, K., Plebani, P., de Paoli, F. (eds.) ESOCC 2018. LNCS, vol. 11116, pp. 49–64. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-99819-0_4CrossRefGoogle Scholar
  55. 55.
    Conway, M.E.: How do committees invent. Datamation 14(4), 28–31 (1968)Google Scholar
  56. 56.
    Lehman, M.M.: Laws of software evolution revisited. In: Montangero, C. (ed.) EWSPT 1996. LNCS, vol. 1149, pp. 108–124. Springer, Heidelberg (1996).  https://doi.org/10.1007/BFb0017737CrossRefGoogle Scholar
  57. 57.
    Vass, J., Munson, J.E.: Revisiting the three Rs of social machines: reflexivity, recognition and responsivity. In: Gangemi, A., Leonardi, S., Panconesi, A. (eds.) WWW (Companion Volume), pp. 1161–1166. ACM, New York (2015)CrossRefGoogle Scholar
  58. 58.
    Coleman, J.S.: Foundations of Social Theory. Harvard University Press, Cambridge, London (1990)Google Scholar
  59. 59.
    Han, S.: Theorizing new media: reflexivity, knowledge, and the Web 2.0. Sociol. Inq. 80(2), 200–213 (2010)CrossRefGoogle Scholar
  60. 60.
    Tamburri, D.A., Kruchten, P., Lago, P., et al.: Social debt in software engineering: insights from industry. J. Internet Serv. Appl. 6, 10 (2015).  https://doi.org/10.1186/s13174-015-0024-6

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Damian Andrew Tamburri
    • 1
    Email author
  • Dario Di Nucci
    • 2
  • Lucio Di Giacomo
    • 3
  • Fabio Palomba
    • 4
  1. 1.TU/e - JADS’s-HertogenboschThe Netherlands
  2. 2.Vrije Universiteit BrusselBrusselsBelgium
  3. 3.Guardia di Finanza di TrentoTrentoItaly
  4. 4.University of ZurichZürichSwitzerland

Personalised recommendations