{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,9]],"date-time":"2026-07-09T04:28:00Z","timestamp":1783571280309,"version":"3.55.0"},"reference-count":134,"publisher":"Springer Science and Business Media LLC","issue":"4","license":[{"start":{"date-parts":[[2025,4,26]],"date-time":"2025-04-26T00:00:00Z","timestamp":1745625600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2025,4,26]],"date-time":"2025-04-26T00:00:00Z","timestamp":1745625600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"funder":[{"DOI":"10.13039\/501100000038","name":"Natural Sciences and Engineering Research Council of Canada","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100000038","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2025,7]]},"DOI":"10.1007\/s10664-025-10654-w","type":"journal-article","created":{"date-parts":[[2025,4,26]],"date-time":"2025-04-26T11:06:34Z","timestamp":1745665594000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["Towards understanding code review practices for infrastructure-as-code: An empirical study on OpenStack projects"],"prefix":"10.1007","volume":"30","author":[{"given":"Narjes","family":"Bessghaier","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4708-0362","authenticated-orcid":false,"given":"Ali","family":"Ouni","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mohammed","family":"Sayagh","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Moataz","family":"Chouchen","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Mohamed Wiem","family":"Mkaouer","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2025,4,26]]},"reference":[{"key":"10654_CR1","doi-asserted-by":"crossref","unstructured":"Almarimi N, Ouni A, Chouchen M, Mkaouer MW (2021) csdetector: an open source tool for community smells detection. In: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 1560\u20131564","DOI":"10.1145\/3468264.3473121"},{"issue":"6","key":"10654_CR2","volume":"35","author":"N Almarimi","year":"2023","unstructured":"Almarimi N, Ouni A, Chouchen M, Mkaouer MW (2023) Improving the detection of community smells through socio-technical and sentiment analysis. Journal of Software: Evolution and Process 35(6):e2505","journal-title":"Journal of Software: Evolution and Process"},{"key":"10654_CR3","doi-asserted-by":"crossref","unstructured":"Almarimi N, Ouni A, Chouchen M, Saidani I, Mkaouer MW (2020) On the detection of community smells using genetic programming-based ensemble classifier chain. In: Proceedings of the 15th International Conference on Global Software Engineering, pp. 43\u201354","DOI":"10.1145\/3372787.3390439"},{"key":"10654_CR4","doi-asserted-by":"publisher","DOI":"10.1016\/j.knosys.2020.106201","volume":"204","author":"N Almarimi","year":"2020","unstructured":"Almarimi N, Ouni A, Mkaouer MW (2020) Learning to detect community smells in open source software projects. Knowl-Based Syst 204:106201","journal-title":"Knowl-Based Syst"},{"key":"10654_CR5","doi-asserted-by":"crossref","unstructured":"AlOmar EA, AlRubaye H, Mkaouer MW, Ouni A, Kessentini M (2021) Refactoring practices in the context of modern code review: An industrial case study at xerox pp. 348\u2013357","DOI":"10.1109\/ICSE-SEIP52600.2021.00044"},{"key":"10654_CR6","doi-asserted-by":"crossref","unstructured":"AlOmar EA, Chouchen M, Mkaouer MW, Ouni A (2022) Code review practices for refactoring changes: An empirical study on openstack pp. 689\u2013701","DOI":"10.1145\/3524842.3527932"},{"key":"10654_CR7","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/s10515-021-00314-w","volume":"29","author":"EA AlOmar","year":"2022","unstructured":"AlOmar EA, Liu J, Addo K, Mkaouer MW, Newman C, Ouni A, Yu Z (2022) On the documentation of refactoring types. Autom Softw Eng 29:1\u201340","journal-title":"Autom Softw Eng"},{"key":"10654_CR8","doi-asserted-by":"crossref","unstructured":"AlOmar EA, Peruma A, Mkaouer MW, Newman CD, Ouni A (2021) Behind the scenes: On the relationship between developer experience and refactoring. Journal of Software: Evolution and Process p. e2395","DOI":"10.1002\/smr.2395"},{"key":"10654_CR9","doi-asserted-by":"crossref","unstructured":"AlOmar EA, Venkatakrishnan A, Mkaouer MW, Newman C, Ouni A (2024) How to refactor this code? an exploratory study on developer-chatgpt refactoring conversations. In: 21st International Conference on Mining Software Repositories, pp. 202\u2013206","DOI":"10.1145\/3643991.3645081"},{"key":"10654_CR10","doi-asserted-by":"crossref","unstructured":"Alrubaye H, Mkaouer MW, Ouni A (2019) Migrationminer: An automated detection tool of third-party java library migration at the method level. In: IEEE international conference on software maintenance and evolution (ICSME), pp. 414\u2013417","DOI":"10.1109\/ICSME.2019.00072"},{"key":"10654_CR11","doi-asserted-by":"crossref","unstructured":"Bacchelli A, Bird C (2013) Expectations, outcomes, and challenges of modern code review. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 712\u2013721. IEEE","DOI":"10.1109\/ICSE.2013.6606617"},{"key":"10654_CR12","doi-asserted-by":"crossref","unstructured":"Baum T, Liskin O, Niklas K, Schneider K (2016) A faceted classification scheme for change-based industrial code review processes. In: 2016 IEEE International conference on software quality, reliability and security (QRS), pp. 74\u201385. IEEE","DOI":"10.1109\/QRS.2016.19"},{"key":"10654_CR13","doi-asserted-by":"publisher","first-page":"932","DOI":"10.1007\/s10664-015-9366-8","volume":"21","author":"O Baysal","year":"2016","unstructured":"Baysal O, Kononenko O, Holmes R, Godfrey MW (2016) Investigating technical and non-technical factors influencing modern code review. Empir Softw Eng 21:932\u2013959","journal-title":"Empir Softw Eng"},{"key":"10654_CR14","doi-asserted-by":"crossref","unstructured":"Van\u00a0der Bent E, Hage J, Visser J, Gousios G (2018) How good is your puppet? an empirically defined and validated quality model for puppet. In: 2018 IEEE 25th international conference on software analysis, evolution and reengineering (SANER), pp. 164\u2013174. IEEE","DOI":"10.1109\/SANER.2018.8330206"},{"key":"10654_CR15","doi-asserted-by":"crossref","unstructured":"Bessghaier N, Sayagh M, Ouni A, Mkaouer MW (2023) What constitutes the deployment and run-time configuration system? an empirical study on openstack projects. ACM Transactions on Software Engineering and Methodology","DOI":"10.1145\/3607186"},{"key":"10654_CR16","doi-asserted-by":"crossref","unstructured":"Bosu A, Carver JC (2014) Impact of developer reputation on code review outcomes in oss projects: An empirical investigation. In: Proceedings of the 8th ACM\/IEEE international symposium on empirical software engineering and measurement, pp. 1\u201310","DOI":"10.1145\/2652524.2652544"},{"key":"10654_CR17","unstructured":"Brikman Y (2019) Terraform: Up & Running: Writing Infrastructure as Code. O\u2019Reilly Media"},{"key":"10654_CR18","doi-asserted-by":"publisher","first-page":"165","DOI":"10.1016\/j.jss.2019.03.002","volume":"152","author":"G Catolino","year":"2019","unstructured":"Catolino G, Palomba F, Zaidman A, Ferrucci F (2019) Not all bugs are the same: Understanding, characterizing, and classifying bug types. J Syst Softw 152:165\u2013181","journal-title":"J Syst Softw"},{"issue":"3","key":"10654_CR19","doi-asserted-by":"publisher","first-page":"494","DOI":"10.1037\/0033-2909.114.3.494","volume":"114","author":"N Cliff","year":"1993","unstructured":"Cliff N (1993) Dominance statistics: Ordinal analyses to answer ordinal questions. Psychol Bull 114(3):494","journal-title":"Psychol Bull"},{"key":"10654_CR20","doi-asserted-by":"crossref","unstructured":"Coelho F, Tsantalis N, Massoni T, Alves EL (2021) An empirical study on refactoring-inducing pull requests. In: Proceedings of the 15th ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 1\u201312","DOI":"10.1145\/3475716.3475785"},{"key":"10654_CR21","doi-asserted-by":"publisher","DOI":"10.4324\/9780203774441","volume-title":"Applied multiple regression\/correlation analysis for the behavioral sciences","author":"J Cohen","year":"2013","unstructured":"Cohen J, Cohen P, West SG, Aiken LS (2013) Applied multiple regression\/correlation analysis for the behavioral sciences. Routledge"},{"key":"10654_CR22","unstructured":"Conover WJ (1998) Practical nonparametric statistics, vol. 350. John Wiley & Sons"},{"key":"10654_CR23","doi-asserted-by":"crossref","unstructured":"Cruzes DS, Dyba T (2011) Recommended steps for thematic synthesis in software engineering. In: 2011 international symposium on empirical software engineering and measurement, pp. 275\u2013284. IEEE","DOI":"10.1109\/ESEM.2011.36"},{"issue":"1","key":"10654_CR24","doi-asserted-by":"publisher","first-page":"87","DOI":"10.1002\/sim.4780040112","volume":"4","author":"J Cuzick","year":"1985","unstructured":"Cuzick J (1985) A wilcoxon-type test for trend. Stat Med 4(1):87\u201390","journal-title":"Stat Med"},{"key":"10654_CR25","doi-asserted-by":"crossref","unstructured":"Dalla\u00a0Palma S, Di\u00a0Nucci D, Palomba F, Tamburri DA (2020) Towards a catalogue of software quality metrics for infrastructure code. Journal of Systems and Software p. 110726","DOI":"10.1016\/j.jss.2020.110726"},{"key":"10654_CR26","doi-asserted-by":"publisher","DOI":"10.1016\/j.softx.2020.100633","volume":"12","author":"S Dalla Palma","year":"2020","unstructured":"Dalla Palma S, Di Nucci D, Tamburri DA (2020) Ansiblemetrics: A python library for measuring infrastructure-as-code blueprints in ansible. SoftwareX 12:100633","journal-title":"SoftwareX"},{"key":"10654_CR27","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2021.110951","volume":"177","author":"N Davila","year":"2021","unstructured":"Davila N, Nunes I (2021) A systematic literature review and taxonomy of modern code review. J Syst Softw 177:110951","journal-title":"J Syst Softw"},{"key":"10654_CR28","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/s10664-020-09909-5","volume":"26","author":"F Ebert","year":"2021","unstructured":"Ebert F, Castor F, Novielli N, Serebrenik A (2021) An exploratory study on confusion in code reviews. Empir Softw Eng 26:1\u201348","journal-title":"Empir Softw Eng"},{"key":"10654_CR29","unstructured":"Edwards AL (1985) Multiple regression and the analysis of variance and covariance. WH Freeman\/Times Books\/Henry Holt & Co"},{"key":"10654_CR30","unstructured":"item example, C (2021a) https:\/\/review.opendev.org\/c\/openstack\/puppet-ironic\/+\/528250"},{"key":"10654_CR31","unstructured":"item example: C (2021b) https:\/\/review.opendev.org\/c\/openstack\/kolla-ansible\/+\/676219"},{"key":"10654_CR32","unstructured":"item example: C (2021c) https:\/\/review.opendev.org\/c\/openstack\/kolla-ansible\/+\/509186\/1\/ansible\/group_vars\/all.yml#319"},{"key":"10654_CR33","unstructured":"item example: C (2021d) https:\/\/review.opendev.org\/c\/openstack\/tripleo-heat-templates\/+\/238998\/14..21\/puppet\/extraconfig\/all_nodes\/neutron-midonet-all-nodes.yaml#b89"},{"key":"10654_CR34","unstructured":"item example: C (2021e) https:\/\/review.opendev.org\/c\/openstack\/kolla-ansible\/+\/676216\/2..3\/\/COMMIT_MSG#b12"},{"key":"10654_CR35","unstructured":"item example: C (2021f) https:\/\/review.opendev.org\/c\/openstack\/tripleo-heat-templates\/+\/238998\/2..21\/puppet\/manifests\/overcloud_compute.pp#b71"},{"key":"10654_CR36","unstructured":"item example: C (2021g) https:\/\/review.opendev.org\/c\/openstack\/tripleo-heat-templates\/+\/269058\/2..8\/puppet\/manifests\/overcloud_controller_pacemaker.pp#104"},{"key":"10654_CR37","unstructured":"item example: C (2021h) https:\/\/review.opendev.org\/c\/openstack\/puppet-octavia\/+\/626637\/9..12\/spec\/classes\/octavia_worker_spec.rb#b54"},{"key":"10654_CR38","unstructured":"item example: C (2021i) https:\/\/review.opendev.org\/c\/openstack\/tripleo-upgrade\/+\/554914\/4..5\/templates\/l3_agent_start_ping.sh.j2#b9"},{"key":"10654_CR39","unstructured":"item example: C (2021j) https:\/\/review.opendev.org\/c\/openstack\/puppet-tripleo\/+\/613698\/8..9\/manifests\/profile\/base\/tuned.pp#b22"},{"key":"10654_CR40","unstructured":"item example: C (2021k) https:\/\/review.opendev.org\/c\/openstack\/openstack-helm-addons\/+\/519591\/6..8\/.zuul.yaml#b17"},{"key":"10654_CR41","unstructured":"item example: C (2021l) https:\/\/review.opendev.org\/c\/openstack\/bifrost\/+\/649291\/1\/playbooks\/roles\/bifrost-ironic-install\/tasks\/main.yml#57"},{"key":"10654_CR42","unstructured":"item example: C (2021m) https:\/\/review.opendev.org\/c\/openstack\/puppet-swift\/+\/172021\/5..7\/templates\/proxy\/dlo.conf.erb#b1 (2021)"},{"key":"10654_CR43","unstructured":"item example: C (2021n) https:\/\/review.opendev.org\/c\/openstack\/puppet-tripleo\/+\/527403\/6..7\/manifests\/profile\/pacemaker\/rabbitmq_bundle.pp#b229"},{"key":"10654_CR44","unstructured":"item example: C (2021o) https:\/\/review.opendev.org\/c\/openstack\/tempest\/+\/509242\/8..11\/.zuul.yaml#b13 (2021)"},{"key":"10654_CR45","unstructured":"item example: C (2021p) https:\/\/review.opendev.org\/c\/openstack\/puppet-tripleo\/+\/645477\/3..4\/manifests\/selinux.pp#b48"},{"key":"10654_CR46","unstructured":"item example: C (2021q) https:\/\/review.opendev.org\/c\/openstack\/puppet-neutron\/+\/307419\/6..9\/spec\/classes\/neutron_plugins_ml2_arista_spec.rb#b50"},{"key":"10654_CR47","unstructured":"item example: C (2021r) https:\/\/review.opendev.org\/c\/openstack\/puppet-neutron\/+\/382551\/2..6\/manifests\/plugins\/ovs\/opendaylight.pp#b76"},{"key":"10654_CR48","unstructured":"item example: C (2021s) https:\/\/review.opendev.org\/c\/openstack\/openstack-ansible-os_tempest\/+\/625904\/9..10\/defaults\/main.yml#b284"},{"key":"10654_CR49","unstructured":"item example: C (2021t) https:\/\/review.opendev.org\/c\/openstack\/openstack-ansible-os_nova\/+\/391532\/5..6\/tasks\/nova_disable_smt.yml#b18"},{"key":"10654_CR50","unstructured":"item example: C (2021u) https:\/\/review.opendev.org\/c\/openstack\/openstack-ansible-haproxy_server\/+\/586774\/4..12\/tasks\/haproxy_ssl_letsencrypt.yml#b60"},{"key":"10654_CR51","unstructured":"item example: C (2021v) https:\/\/review.opendev.org\/c\/openstack\/openstack-ansible-haproxy_server\/+\/586774\/9..12\/doc\/source\/configure-haproxy.rst#b156"},{"key":"10654_CR52","unstructured":"item example: C (2021w) https:\/\/review.opendev.org\/c\/openstack\/puppet-cinder\/+\/150658\/3..8\/manifests\/keystone\/auth.pp#b103"},{"key":"10654_CR53","unstructured":"item example: C (2021x) https:\/\/review.opendev.org\/c\/openstack\/tripleo-heat-templates\/+\/238998\/20..21\/puppet\/manifests\/overcloud_controller.pp#b317"},{"key":"10654_CR54","unstructured":"item example: C (2021y) https:\/\/review.opendev.org\/c\/openstack\/openstack-ansible-os_barbican\/+\/341761"},{"key":"10654_CR55","unstructured":"item example: C (2021z) https:\/\/review.opendev.org\/c\/openstack\/puppet-nova\/+\/423507\/1..4\/manifests\/metadata\/novajoin\/api.pp#b103"},{"key":"10654_CR56","unstructured":"item example: C (2021aa) https:\/\/review.opendev.org\/c\/openstack\/puppet-neutron\/+\/382551\/5..6\/manifests\/plugins\/ovs\/opendaylight.pp#b76 (2021)"},{"key":"10654_CR57","unstructured":"item example: C (2021aa) https:\/\/review.opendev.org\/c\/openstack\/puppet-cinder\/+\/346531\/1..4\/manifests\/volume\/dellsc_iscsi.pp#b63"},{"key":"10654_CR58","unstructured":"item example: C (2021ab) https:\/\/review.opendev.org\/c\/openstack\/tripleo-upgrade\/+\/661302\/25..33\/tasks\/upgrade\/undercloud_os_upgrade.yaml#b44"},{"key":"10654_CR59","unstructured":"item example: C (2021ac) https:\/\/review.opendev.org\/c\/openstack\/puppet-openstack-integration\/+\/595370\/3..4\/manifests\/repos.pp#b124"},{"key":"10654_CR60","unstructured":"item example: C (2021ad) https:\/\/review.opendev.org\/c\/openstack\/openstack-ansible-os_nova\/+\/391532\/1..6\/tasks\/nova_disable_smt.yml#b37"},{"key":"10654_CR61","unstructured":"item example: C (2021ae) https:\/\/review.opendev.org\/c\/openstack\/puppet-neutron\/+\/307419\/7\/manifests\/plugins\/ml2\/arista\/l3_arista.pp#66"},{"key":"10654_CR62","unstructured":"item example: C (2021af) https:\/\/review.opendev.org\/c\/openstack\/tempest\/+\/509242\/6..11\/roles\/run-tempest\/tasks\/main.yaml#b14"},{"key":"10654_CR63","unstructured":"item example: C (2021ag) https:\/\/review.opendev.org\/c\/openstack\/puppet-neutron\/+\/404892\/4..6\/manifests\/plugins\/ml2\/fujitsu\/cfab.pp#b44"},{"key":"10654_CR64","unstructured":"item example: C (2021h) https:\/\/review.opendev.org\/c\/openstack\/puppet-tripleo\/+\/674955\/6\/manifests\/profile\/base\/docker.pp#306"},{"key":"10654_CR65","unstructured":"Glaser BG, Strauss AL (1967) The discovery of grounded theory: Strategies for qualitative research. Routledge (1967). http:\/\/www.sxf.uevora.pt\/wp-content\/uploads\/2013\/03\/Glaser_1967.pdf"},{"key":"10654_CR66","doi-asserted-by":"crossref","unstructured":"Guerriero M, Garriga M, Tamburri DA, Palomba F (2019) Adoption, support, and challenges of infrastructure-as-code: Insights from industry. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 580\u2013589. IEEE","DOI":"10.1109\/ICSME.2019.00092"},{"key":"10654_CR67","doi-asserted-by":"crossref","unstructured":"Han X, Tahir A, Liang P, Counsell S, Luo Y (2021) Understanding code smell detection via code review: A study of the openstack community. In: 2021 IEEE\/ACM 29th International Conference on Program Comprehension (ICPC), pp. 323\u2013334. IEEE","DOI":"10.1109\/ICPC52881.2021.00038"},{"key":"10654_CR68","unstructured":"Hochstein L, Moser R (2017) Ansible: Up and Running: Automating configuration management and deployment the easy way. \u201cO\u2019Reilly Media, Inc.\u201d"},{"key":"10654_CR69","doi-asserted-by":"crossref","unstructured":"Jiang Y, Adams B (2015) Co-evolution of infrastructure and source code-an empirical study. In: 2015 IEEE\/ACM 12th Working Conference on Mining Software Repositories, pp. 45\u201355. IEEE","DOI":"10.1109\/MSR.2015.12"},{"key":"10654_CR70","doi-asserted-by":"crossref","unstructured":"Jiang Y, Adams B, German DM (2013) Will my patch make it? and how fast? case study on the linux kernel. In: 2013 10th Working conference on mining software repositories (MSR), pp. 101\u2013110. IEEE","DOI":"10.1109\/MSR.2013.6624016"},{"issue":"1","key":"10654_CR71","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3530785","volume":"32","author":"S Khatoonabadi","year":"2023","unstructured":"Khatoonabadi S, Costa DE, Abdalkareem R, Shihab E (2023) On wasted contributions: Understanding the dynamics of contributor-abandoned pull requests-a mixed-methods study of 10 large open-source projects. ACM Transactions on Software Engineering and Methodology 32(1):1\u201339","journal-title":"ACM Transactions on Software Engineering and Methodology"},{"key":"10654_CR72","unstructured":"Kim G, Debois P, Willis J, Humble J (2016) The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution Press"},{"key":"10654_CR73","doi-asserted-by":"crossref","unstructured":"Krippendorff K (2018) Content analysis: An introduction to its methodology. Sage publications","DOI":"10.4135\/9781071878781"},{"key":"10654_CR74","doi-asserted-by":"publisher","first-page":"186","DOI":"10.1016\/j.infsof.2017.09.007","volume":"93","author":"RG Kula","year":"2018","unstructured":"Kula RG, Ouni A, German DM, Inoue K (2018) An empirical study on the impact of refactoring activities on evolving client-used apis. Inf Softw Technol 93:186\u2013199","journal-title":"Inf Softw Technol"},{"key":"10654_CR75","doi-asserted-by":"crossref","unstructured":"Kumara I, Garriga M, Romeu AU, Di\u00a0Nucci D, Tamburri DA, van\u00a0den Heuvel WJ, Palomba F (2021) The do\u2019s and don\u2019ts of infrastructure code: A systematic grey literature review. Information and Software Technology p. 106593","DOI":"10.1016\/j.infsof.2021.106593"},{"key":"10654_CR76","unstructured":"Launchpad (2016a) Example of a code review bug on a package dependency issue. https:\/\/bugs.launchpad.net\/puppet-horizon\/+bug\/1556132"},{"key":"10654_CR77","unstructured":"Launchpad (2016b) Example of a code review bug on configuration options conflict. https:\/\/bugs.launchpad.net\/tripleo\/+bug\/1532352"},{"key":"10654_CR78","doi-asserted-by":"crossref","unstructured":"Li R, Soliman M, Liang P, Avgeriou P (2022) Symptoms of architecture erosion in code reviews: A study of two openstack projects. In: 2022 IEEE 19th International Conference on Software Architecture (ICSA), pp. 24\u201335. IEEE","DOI":"10.1109\/ICSA53651.2022.00011"},{"key":"10654_CR79","unstructured":"Likert R (1932) A technique for the measurement of attitudes. Archives of psychology (1932)"},{"issue":"5","key":"10654_CR80","doi-asserted-by":"publisher","first-page":"2146","DOI":"10.1007\/s10664-015-9381-9","volume":"21","author":"S McIntosh","year":"2016","unstructured":"McIntosh S, Kamei Y, Adams B, Hassan AE (2016) An empirical study of the impact of modern code review practices on software quality. Empir Softw Eng 21(5):2146\u20132189","journal-title":"Empir Softw Eng"},{"key":"10654_CR81","unstructured":"Moris K (2021) Infrastructure as code dynamic systems for the cloud age"},{"key":"10654_CR82","unstructured":"Napierala MA (2012) What is the bonferroni correction? Aaos Now pp. 40\u201341"},{"key":"10654_CR83","doi-asserted-by":"crossref","unstructured":"Opdebeeck R, Zerouali A, De\u00a0Roover C (2022) Smelly variables in ansible infrastructure code: Detection, prevalence, and lifetime. In: Proceedings of MSR\u201922: Proceedings of the 19th International Conference on Mining Software Repositories (MSR 2022). ACM","DOI":"10.1145\/3524842.3527964"},{"key":"10654_CR84","unstructured":"OpenDev (2016) Example of a code review comment on a code review comment on best-practice issue. https:\/\/review.opendev.org\/c\/openstack\/puppet-neutron\/+\/307419\/6..9"},{"key":"10654_CR85","unstructured":"OpenDev (2016) Example of a code review comment on ansible tasks dependency issue. https:\/\/review.opendev.org\/c\/openstack\/openstack-ansible-os_nova\/+\/391532\/1..6\/tasks\/nova_disable_smt.yml#b37"},{"key":"10654_CR86","unstructured":"OpenDev (2016c) Example of a code review comment on security issue. https:\/\/review.opendev.org\/c\/openstack\/puppet-neutron\/+\/404892\/4..6\/manifests\/plugins\/ml2\/fujitsu\/cfab.pp#b44"},{"key":"10654_CR87","unstructured":"OpenDev (2017) Example of a code review comment on documentation issue: lack of explanatory code comments. https:\/\/review.opendev.org\/c\/openstack\/kolla-ansible\/+\/509186\/1\/ansible\/group_vars\/all.yml#319"},{"key":"10654_CR88","unstructured":"OpenDev (2017) Example of a code review comment on documentation issue: lack of release-notes. https:\/\/releases.openstack.org\/victoria\/index.html"},{"key":"10654_CR89","unstructured":"OpenDev (2017c) Example of a code review comment on iac guidelines ansible tasks issue. https:\/\/review.opendev.org\/c\/openstack\/tempest\/+\/509242\/8..11\/.zuul.yaml#b13"},{"key":"10654_CR90","unstructured":"OpenDev (2017d) Example of a code review comment on iac guidelines issue. https:\/\/review.opendev.org\/c\/openstack\/puppet-cinder\/+\/491309\/2..4\/manifests\/init.pp#b381"},{"key":"10654_CR91","unstructured":"OpenDev (2018) Example of a code review comment on a configuration dependency issue. https:\/\/review.opendev.org\/c\/openstack\/puppet-openstack-integration\/+\/595370\/3..4\/manifests\/repos.pp#b124"},{"key":"10654_CR92","unstructured":"OpenDev (2019a) Example of a code review comment on a compatibility issue. https:\/\/review.opendev.org\/c\/openstack\/tripleo-upgrade\/+\/661302\/25..33\/tasks\/upgrade\/undercloud_os_upgrade.yaml#b44"},{"key":"10654_CR93","unstructured":"OpenDev (2019b) Example of a code review comment on logics issue. https:\/\/review.opendev.org\/c\/openstack\/puppet-octavia\/+\/626637\/9..12\/spec\/classes\/octavia_worker_spec.rb#b54"},{"key":"10654_CR94","unstructured":"OpenDev (2020) Example of a code review comment on testing issue. https:\/\/review.opendev.org\/c\/openstack\/bifrost\/+\/750656\/comment\/9f560f44_2663e843\/"},{"key":"10654_CR95","unstructured":"OpenStack (2011) Diablo release. https:\/\/releases.openstack.org\/diablo\/index.html"},{"key":"10654_CR96","unstructured":"OpenStack (2016a) Branch model. https:\/\/wiki.openstack.org\/wiki\/Branch_Model"},{"key":"10654_CR97","unstructured":"OpenStack (2016b) Productteam. https:\/\/wiki.openstack.org\/wiki\/ProductTeam"},{"key":"10654_CR98","unstructured":"OpenStack (2019) Releases. https:\/\/docs.openstack.org\/contributors\/common\/releases.html"},{"key":"10654_CR99","unstructured":"OpenStack (2020) Victoria release. https:\/\/releases.openstack.org\/victoria\/index.html"},{"key":"10654_CR100","unstructured":"OpenStack (2021) Release management. https:\/\/docs.openstack.org\/project-team-guide\/release-management.html"},{"key":"10654_CR101","unstructured":"OpenStack (2022) Stable branches. https:\/\/docs.openstack.org\/project-team-guide\/stable-branches.html"},{"key":"10654_CR102","unstructured":"Pascarella L, Spadini D, Palomba F, Bacchelli A (2019) On the effect of code review on code smells. arXiv:1912.10098"},{"key":"10654_CR103","doi-asserted-by":"crossref","unstructured":"Pascarella L, Spadini D, Palomba F, Bruntink M, Bacchelli A (2018) Information needs in contemporary code review. Proceedings of the ACM on human-computer interaction 2(CSCW):1\u201327","DOI":"10.1145\/3274404"},{"key":"10654_CR104","doi-asserted-by":"crossref","unstructured":"Peruma A, Mkaouer MW, Decker MJ, Newman CD (2019) Contextualizing rename decisions using refactorings and commit messages. In: 2019 19th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 74\u201385. IEEE","DOI":"10.1109\/SCAM.2019.00017"},{"key":"10654_CR105","doi-asserted-by":"crossref","unstructured":"Peruma A, Newman CD, Mkaouer MW, Ouni A, Palomba F (2020) An exploratory study on the refactoring of unit test files in android applications. In: IEEE\/ACM 42nd International Conference on Software Engineering Workshops, pp. 350\u2013357","DOI":"10.1145\/3387940.3392189"},{"key":"10654_CR106","doi-asserted-by":"publisher","first-page":"3430","DOI":"10.1007\/s10664-020-09841-8","volume":"25","author":"A Rahman","year":"2020","unstructured":"Rahman A, Farhana E, Williams L (2020) The \u2018as code\u2019activities: Development anti-patterns for infrastructure as code. Empir Softw Eng 25:3430\u20133467","journal-title":"Empir Softw Eng"},{"key":"10654_CR107","doi-asserted-by":"publisher","first-page":"65","DOI":"10.1016\/j.infsof.2018.12.004","volume":"108","author":"A Rahman","year":"2019","unstructured":"Rahman A, Mahdavi-Hezaveh R, Williams L (2019) A systematic mapping study of infrastructure as code research. Inf Softw Technol 108:65\u201377","journal-title":"Inf Softw Technol"},{"key":"10654_CR108","doi-asserted-by":"crossref","unstructured":"Rahman A, Parnin C (2023) Detecting and characterizing propagation of security weaknesses in puppet-based infrastructure management. IEEE Transactions on Software Engineering","DOI":"10.1109\/TSE.2023.3265962"},{"key":"10654_CR109","doi-asserted-by":"crossref","unstructured":"Rahman A, Parnin C, Williams L (2019) The seven sins: Security smells in infrastructure as code scripts. In: 2019 IEEE\/ACM 41st International Conference on Software Engineering (ICSE), pp. 164\u2013175. IEEE","DOI":"10.1109\/ICSE.2019.00033"},{"issue":"1","key":"10654_CR110","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3408897","volume":"30","author":"A Rahman","year":"2021","unstructured":"Rahman A, Rahman MR, Parnin C, Williams L (2021) Security smells in ansible and chef scripts: A replication study. ACM Transactions on Software Engineering and Methodology (TOSEM) 30(1):1\u201331","journal-title":"ACM Transactions on Software Engineering and Methodology (TOSEM)"},{"key":"10654_CR111","doi-asserted-by":"crossref","unstructured":"Ray B, Posnett D, Filkov V, Devanbu P (2014) A large scale study of programming languages and code quality in github. In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering, pp. 155\u2013165","DOI":"10.1145\/2635868.2635922"},{"key":"10654_CR112","unstructured":"Redhat (2022) What is infrastructure as code (iac)? https:\/\/www.redhat.com\/en\/topics\/automation\/what-is-infrastructure-as-code-iac"},{"key":"10654_CR113","doi-asserted-by":"crossref","unstructured":"Rigby PC, Bird C (2013) Convergent contemporary software peer review practices. In: Proceedings of the 2013 9th joint meeting on foundations of software engineering, pp. 202\u2013212","DOI":"10.1145\/2491411.2491444"},{"key":"10654_CR114","doi-asserted-by":"crossref","unstructured":"Sadowski C, S\u00f6derberg E, Church L, Sipko M, Bacchelli A (2018) Modern code review: a case study at google. In: Proceedings of the 40th international conference on software engineering: Software engineering in practice, pp. 181\u2013190","DOI":"10.1145\/3183519.3183525"},{"key":"10654_CR115","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2021.106618","volume":"138","author":"I Saidani","year":"2021","unstructured":"Saidani I, Ouni A, Mkaouer MW, Palomba F (2021) On the impact of continuous integration on refactoring practice: An exploratory study on travistorrent. Inf Softw Technol 138:106618","journal-title":"Inf Softw Technol"},{"key":"10654_CR116","doi-asserted-by":"crossref","unstructured":"Sayagh M, Kerzazi N, Adams B (2017) On cross-stack configuration errors. In: 2017 IEEE\/ACM 39th International Conference on Software Engineering (ICSE), pp. 255\u2013265. IEEE","DOI":"10.1109\/ICSE.2017.31"},{"key":"10654_CR117","doi-asserted-by":"crossref","unstructured":"Schwarz J, Steffens A, Lichter H (2018) Code smells in infrastructure as code. In: 2018 11th International Conference on the Quality of Information and Communications Technology (QUATIC), pp. 220\u2013228. IEEE","DOI":"10.1109\/QUATIC.2018.00040"},{"key":"10654_CR118","doi-asserted-by":"crossref","unstructured":"Scoccia GL, Peruma A, Pujols V, Malavolta I, Krutz DE (2019) Permission issues in open-source android apps: An exploratory study. In: 2019 19th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 238\u2013249. IEEE","DOI":"10.1109\/SCAM.2019.00034"},{"key":"10654_CR119","doi-asserted-by":"crossref","unstructured":"Shambaugh R, Weiss A, Guha A (2016) Rehearsal: A configuration verification tool for puppet. In: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 416\u2013430","DOI":"10.1145\/2908080.2908083"},{"key":"10654_CR120","doi-asserted-by":"crossref","unstructured":"Sharma T, Fragkoulis M, Spinellis D (2016) Does your configuration code smell? In: 2016 IEEE\/ACM 13th Working Conference on Mining Software Repositories (MSR), pp. 189\u2013200. IEEE","DOI":"10.1145\/2901739.2901761"},{"key":"10654_CR121","doi-asserted-by":"crossref","unstructured":"Silva D, Tsantalis N, Valente MT (2016) Why we refactor? confessions of github contributors. In: Proceedings of the 2016 24th acm sigsoft international symposium on foundations of software engineering, pp. 858\u2013870","DOI":"10.1145\/2950290.2950305"},{"key":"10654_CR122","unstructured":"Taylor M, Vargo S (2014) Learning Chef: A Guide to Configuration Management and Automation. \u201cO\u2019Reilly Media, Inc.\u201d"},{"key":"10654_CR123","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1186\/s13174-019-0105-z","volume":"10","author":"JA Teixeira","year":"2019","unstructured":"Teixeira JA, Karsten H (2019) Managing to release early, often and on time in the openstack software ecosystem. Journal of Internet Services and Applications 10:1\u201322","journal-title":"Journal of Internet Services and Applications"},{"key":"10654_CR124","doi-asserted-by":"crossref","unstructured":"Thongtanunam P, McIntosh S, Hassan AE, Iida H (2015) Investigating code review practices in defective files: An empirical study of the qt system. In: 2015 IEEE\/ACM 12th Working Conference on Mining Software Repositories, pp. 168\u2013179. IEEE","DOI":"10.1109\/MSR.2015.23"},{"key":"10654_CR125","doi-asserted-by":"publisher","first-page":"768","DOI":"10.1007\/s10664-016-9452-6","volume":"22","author":"P Thongtanunam","year":"2017","unstructured":"Thongtanunam P, McIntosh S, Hassan AE, Iida H (2017) Review participation in modern code review: An empirical study of the android, qt, and openstack projects. Empir Softw Eng 22:768\u2013817","journal-title":"Empir Softw Eng"},{"key":"10654_CR126","doi-asserted-by":"crossref","unstructured":"Turnbull J, McCune J (2011) Pro Puppet, vol.\u00a01. Springer","DOI":"10.1007\/978-1-4302-3058-8_1"},{"key":"10654_CR127","doi-asserted-by":"crossref","unstructured":"Uch\u00f4a A, Barbosa C, Oizumi W, Blen\u00edlio P, Lima R, Garcia A, Bezerra C (2020) How does modern code review impact software design degradation? an in-depth empirical study. 36th ICSME pp. 1\u201312","DOI":"10.1109\/ICSME46990.2020.00055"},{"key":"10654_CR128","doi-asserted-by":"crossref","unstructured":"Vasilescu B, Yu Y, Wang H, Devanbu P, Filkov V (2015) Quality and productivity outcomes relating to continuous integration in github. In: Proceedings of the 2015 10th joint meeting on foundations of software engineering, pp. 805\u2013816","DOI":"10.1145\/2786805.2786850"},{"key":"10654_CR129","doi-asserted-by":"publisher","first-page":"108","DOI":"10.1016\/j.infsof.2019.02.007","volume":"110","author":"Q Wang","year":"2019","unstructured":"Wang Q, Xia X, Lo D, Li S (2019) Why is my code change abandoned? Inf Softw Technol 110:108\u2013120","journal-title":"Inf Softw Technol"},{"key":"10654_CR130","doi-asserted-by":"publisher","first-page":"106637","DOI":"10.1016\/j.infsof.2021.106637","volume":"139","author":"D Wang","year":"2021","unstructured":"Wang D, Kula RG, Ishio T, Matsumoto K (2021a) Automatic patch linkage detection in code review using textual content and file location features. Inf Softw Technol 139:106637","journal-title":"Inf Softw Technol"},{"key":"10654_CR131","doi-asserted-by":"publisher","first-page":"106408","DOI":"10.1016\/j.infsof.2020.106408","volume":"130","author":"S Wang","year":"2021","unstructured":"Wang S, Bansal C, Nagappan N (2021b) Large-scale intent analysis for identifying large-review-effort code changes. Inf Softw Technol 130:106408","journal-title":"Inf Softw Technol"},{"key":"10654_CR132","doi-asserted-by":"crossref","unstructured":"Wang C, Lou Y, Liu J, Peng X (2023) Generating variable explanations via zero-shot prompt learning. In: 2023 38th IEEE\/ACM International Conference on Automated Software Engineering (ASE), pp. 748\u2013760. IEEE","DOI":"10.1109\/ASE56229.2023.00130"},{"issue":"4","key":"10654_CR133","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2791577","volume":"47","author":"T Xu","year":"2015","unstructured":"Xu T, Zhou Y (2015) Systems approaches to tackling configuration errors: A survey. ACM Computing Surveys (CSUR) 47(4):1\u201341","journal-title":"ACM Computing Surveys (CSUR)"},{"key":"10654_CR134","doi-asserted-by":"crossref","unstructured":"Yang X, Kula RG, Yoshida N, Iida H (2016) Mining the modern code review repositories: A dataset of people, process and product. In: Proceedings of the 13th International Conference on Mining Software Repositories, pp. 460\u2013463","DOI":"10.1145\/2901739.2903504"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-025-10654-w.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-025-10654-w\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-025-10654-w.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,5]],"date-time":"2025-06-05T09:57:30Z","timestamp":1749117450000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-025-10654-w"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,4,26]]},"references-count":134,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2025,7]]}},"alternative-id":["10654"],"URL":"https:\/\/doi.org\/10.1007\/s10664-025-10654-w","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,4,26]]},"assertion":[{"value":"30 March 2025","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"26 April 2025","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"Not applicable.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethical Approval"}},{"value":"The authors declare that they have no conflict of interests and competing interests.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflicts of Interest"}}],"article-number":"106"}}