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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. SEI Series in Software Engineering. Addison-Wesley, New York (2015)
Yang, Y., Falessi, D., Menzies, T., Hihn, J.: Actionable analytics for software engineering. IEEE Softw. 35(1), 51–53 (2017)
Magnoni, S., Tamburri, D.A., Di Nitto, E., Kazman, R.: Analyzing quality models for software communities. Communications of the ACM (2017, under review)
Software Quality Connection: Software quality connection (2015)
Crispin, L.: Driving software quality: how test-driven development impacts software quality. IEEE Softw. 23(6), 70–71 (2006)
Watts, R.: Manufacturing Software Quality. NCC Publications, Manchester (1987)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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_11
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)
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)
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)
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)
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
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)
Tsantalis, N., Chatzigeorgiou, A.: Identification of move method refactoring opportunities. IEEE Trans. Softw. Eng. 35(3), 347–367 (2009)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering. Addison-Wesley, Boston (2012)
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)
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)
Tamburri, D.A., Lago, P., Vliet, H.V.: Organizational social structures for software engineering. ACM Comput. Surv. 46(1), 3:1–3:35 (2013)
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)
Williams, L., Kessler, R.R.: Pair Programming Illuminated. Addison Wesley, Boston (2003)
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)
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)
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)
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
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)
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)
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)
Macdonald, I.G.: Symmetric Functions and Hall Polynomials. Oxford University Press, Oxford (1998)
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)
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)
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)
Mislove, A., Marcon, M., Gummadi, K.P., Druschel, P., Bhattacharjee, B.: Measurement and analysis of online social networks (2007)
Kitchenham, B., Pickard, L., Pfleeger, S.L.: Case studies for method and tool evaluation. IEEE Softw. 12(4), 52–62 (1995)
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)
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)
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)
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)
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)
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)
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-z
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_4
Conway, M.E.: How do committees invent. Datamation 14(4), 28–31 (1968)
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/BFb0017737
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)
Coleman, J.S.: Foundations of Social Theory. Harvard University Press, Cambridge, London (1990)
Han, S.: Theorizing new media: reflexivity, knowledge, and the Web 2.0. Sociol. Inq. 80(2), 200–213 (2010)
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Tamburri, D.A., Di Nucci, D., Di Giacomo, L., Palomba, F. (2019). Omniscient DevOps Analytics. In: Bruel, JM., Mazzara, M., Meyer, B. (eds) Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment. DEVOPS 2018. Lecture Notes in Computer Science(), vol 11350. Springer, Cham. https://doi.org/10.1007/978-3-030-06019-0_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-06019-0_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-06018-3
Online ISBN: 978-3-030-06019-0
eBook Packages: Computer ScienceComputer Science (R0)