{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,11]],"date-time":"2026-07-11T21:13:33Z","timestamp":1783804413519,"version":"3.55.0"},"publisher-location":"New York, NY, USA","reference-count":40,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,4,15]],"date-time":"2024-04-15T00:00:00Z","timestamp":1713139200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100000038","name":"Natural Sciences and Engineering Research Council of Canada","doi-asserted-by":"publisher","award":["RGPIN-2018-05960"],"award-info":[{"award-number":["RGPIN-2018-05960"]}],"id":[{"id":"10.13039\/501100000038","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2024,4,15]]},"DOI":"10.1145\/3643916.3644439","type":"proceedings-article","created":{"date-parts":[[2024,6,13]],"date-time":"2024-06-13T12:40:20Z","timestamp":1718282420000},"page":"450-454","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["TerraMetrics: An Open Source Tool for Infrastructure-as-Code (IaC) Quality Metrics in Terraform"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0009-0007-5914-9968","authenticated-orcid":false,"given":"Mahi","family":"Begoug","sequence":"first","affiliation":[{"name":"Ecole de technologie superieure (ETS), Montreal, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1134-1324","authenticated-orcid":false,"given":"Moataz","family":"Chouchen","sequence":"additional","affiliation":[{"name":"Ecole de Technologie Superieure (ETS), Montreal, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4708-0362","authenticated-orcid":false,"given":"Ali","family":"Ouni","sequence":"additional","affiliation":[{"name":"Ecole de Technologie Superieure (ETS), Montreal, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2024,6,13]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"d.]. Amazon Web Services. https:\/\/aws.amazon.com\/. Accessed on","year":"2023","unstructured":"[n. d.]. Amazon Web Services. https:\/\/aws.amazon.com\/. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_2_1","volume-title":"d.]. Azure. https:\/\/azure.microsoft.com\/en-ca. Accessed on","year":"2023","unstructured":"[n. d.]. Azure. https:\/\/azure.microsoft.com\/en-ca. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_3_1","volume-title":"d.]. Cloud Google Platform. https:\/\/cloud.google.com\/. Accessed on","year":"2023","unstructured":"[n. d.]. Cloud Google Platform. https:\/\/cloud.google.com\/. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_4_1","volume-title":"d.]. Find Bugs in Java Programs. https:\/\/findbugs.sourceforge.net\/. Accessed on","year":"2023","unstructured":"[n. d.]. Find Bugs in Java Programs. https:\/\/findbugs.sourceforge.net\/. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_5_1","volume-title":"d.]. PMD Source Code Analyzer. https:\/\/pmd.github.io\/. Accessed on","year":"2023","unstructured":"[n. d.]. PMD Source Code Analyzer. https:\/\/pmd.github.io\/. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_6_1","volume-title":"d.]. Terraform Language Documentation. https:\/\/developer.hashicorp.com\/terraform\/language. Accessed on","year":"2023","unstructured":"[n. d.]. Terraform Language Documentation. https:\/\/developer.hashicorp.com\/terraform\/language. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_7_1","volume-title":"d.]. TerraMetrics: An Open Source Tool for Infrastructure-as-Code (IaC) Quality Metrics in Terraform. https:\/\/github.com\/stilab-ets\/terametrics. Accessed on","year":"2023","unstructured":"[n. d.]. TerraMetrics: An Open Source Tool for Infrastructure-as-Code (IaC) Quality Metrics in Terraform. https:\/\/github.com\/stilab-ets\/terametrics. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_8_1","volume-title":"d.]. The top programming languages. https:\/\/octoverse.github.com\/2022\/top-programming-languages. Accessed on","year":"2023","unstructured":"[n. d.]. The top programming languages. https:\/\/octoverse.github.com\/2022\/top-programming-languages. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_9_1","volume-title":"d.]. https:\/\/github.com\/aquasecurity\/tfsec. Accessed on","year":"2023","unstructured":"aquasecurity. [n. d.]. https:\/\/github.com\/aquasecurity\/tfsec. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_10_1","volume-title":"d.]. HCL Syntax-Agnostic Information Model. https:\/\/github.com\/hashicorp\/hcl\/blob\/main\/spec.md. Accessed on","author":"Atkins Martin","year":"2023","unstructured":"Martin Atkins. [n. d.]. HCL Syntax-Agnostic Information Model. https:\/\/github.com\/hashicorp\/hcl\/blob\/main\/spec.md. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_11_1","volume-title":"Test Driven Development: By Example","unstructured":"Beck. 2002. Test Driven Development: By Example. Addison-Wesley Longman Publishing Co., Inc., USA."},{"key":"e_1_3_2_1_12_1","volume-title":"What Do Infrastructure-as-Code Practitioners Discuss: An Empirical Study on Stack Overflow. In 17th International Conference on Empirical Software Engineering and Measurement (ESEM). 1--12 pages.","author":"Begoug Mahi","year":"2023","unstructured":"Mahi Begoug, Narjes Bessghaier, Ali Ouni, Eman Alomar, and Mohamed Wiem Mkaouer. 2023. What Do Infrastructure-as-Code Practitioners Discuss: An Empirical Study on Stack Overflow. In 17th International Conference on Empirical Software Engineering and Measurement (ESEM). 1--12 pages."},{"key":"e_1_3_2_1_13_1","volume-title":"ACM International Conference on Mining Software Repositories (MSR). 1--12 pages.","author":"Begoug Mahi","year":"2024","unstructured":"Mahi Begoug, Moataz Chouchen, Ali Ouni, Eman Alomar, and Mohamed Wiem Mkaouer. 2024. Fine-Grained Just-In-Time Defect Prediction at the Block Level in Infrastructure-as-Code (IaC). In ACM International Conference on Mining Software Repositories (MSR). 1--12 pages."},{"key":"e_1_3_2_1_14_1","volume-title":"Proceedings of the 4th ACM SIGSOFT International Workshop on Machine-Learning Techniques for Software-Quality Evaluation. 7--12","author":"Borovits Nemania","unstructured":"Nemania Borovits, Indika Kumara, Parvathy Krishnan, Stefano Dalla Palma, Dario Di Nucci, Fabio Palomba, Damian A Tamburri, and Willem-Jan van den Heuvel. 2020. DeepIaC: deep learning-based linguistic anti-pattern detection in IaC. In Proceedings of the 4th ACM SIGSOFT International Workshop on Machine-Learning Techniques for Software-Quality Evaluation. 7--12."},{"key":"e_1_3_2_1_15_1","volume-title":"Terraform: Up and Running. \" O'Reilly Media","author":"Brikman Yevgeniy","year":"2022","unstructured":"Yevgeniy Brikman. 2022. Terraform: Up and Running. \" O'Reilly Media, Inc.\"."},{"key":"e_1_3_2_1_16_1","volume-title":"d.]. https:\/\/github.com\/bridgecrewio\/checkov. Accessed on","year":"2023","unstructured":"Checkov. [n. d.]. https:\/\/github.com\/bridgecrewio\/checkov. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2020.110726"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.softx.2020.100633"},{"key":"e_1_3_2_1_19_1","volume-title":"d.]. The State of Open Source and AI. https:\/\/github.blog\/2023-11-08-the-state-of-open-source-and-ai\/. Accessed on","year":"2023","unstructured":"GitHub. [n. d.]. The State of Open Source and AI. https:\/\/github.blog\/2023-11-08-the-state-of-open-source-and-ai\/. Accessed on: Nov 12, 2023."},{"key":"e_1_3_2_1_20_1","volume-title":"d.]. https:\/\/www.terraform.io\/. Accessed on","year":"2023","unstructured":"hashicorp. [n. d.]. https:\/\/www.terraform.io\/. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_21_1","volume-title":"d.]. https:\/\/www.ansible.com\/. Accessed on","author":"Hat Red","year":"2023","unstructured":"Red Hat. [n. d.]. https:\/\/www.ansible.com\/. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_22_1","unstructured":"Richard Helm Ralph E Johnson Erich Gamma and John Vlissides. 2000. Design patterns: Elements of reusable object-oriented software. Braille Jymico Incorporated Quebec."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSR57506.2023.10224925"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-023-10396-7"},{"key":"e_1_3_2_1_25_1","volume-title":"Does Cyclomatic or Cognitive Complexity Better Represents Code Understandability? An Empirical Investigation on the Developers Perception. arXiv preprint arXiv:2303.07722","author":"Lenarduzzi Valentina","year":"2023","unstructured":"Valentina Lenarduzzi, Terhi Kilamo, and Andrea Janes. 2023. Does Cyclomatic or Cognitive Complexity Better Represents Code Understandability? An Empirical Investigation on the Developers Perception. arXiv preprint arXiv:2303.07722 (2023)."},{"key":"e_1_3_2_1_26_1","volume-title":"d.]. HCL Native Syntax Specification. https:\/\/github.com\/hashicorp\/hcl\/blob\/main\/hclsyntax\/spec.md. Accessed on","author":"McDiarmid Alisdair","year":"2023","unstructured":"Alisdair McDiarmid. [n. d.]. HCL Native Syntax Specification. https:\/\/github.com\/hashicorp\/hcl\/blob\/main\/hclsyntax\/spec.md. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_27_1","volume-title":"Infrastructure as Code","author":"Morris Kief","unstructured":"Kief Morris and Brice Thompson. 2020. Infrastructure as Code (2nd ed.). O'Reilly Media.","edition":"2"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR59073.2023.00079"},{"key":"e_1_3_2_1_29_1","volume-title":"Introduction to Infrastructure as Code: A Brief Guide to the Future of DevOps","author":"Pandya Sneh","unstructured":"Sneh Pandya and Riya Guha Thakurta. 2022. Hands-on Infrastructure as Code with Hashicorp Terraform. In Introduction to Infrastructure as Code: A Brief Guide to the Future of DevOps. Springer, 99--133."},{"key":"e_1_3_2_1_30_1","volume-title":"d.]. https:\/\/www.puppet.com\/. Accessed on","year":"2023","unstructured":"Perforce. [n. d.]. https:\/\/www.puppet.com\/. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3368089.3417921"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3408897"},{"key":"e_1_3_2_1_33_1","volume-title":"d.]. https:\/\/github.com\/tenable\/terrascan. Accessed on","year":"2023","unstructured":"runterrascan. [n. d.]. https:\/\/github.com\/tenable\/terrascan. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_34_1","volume-title":"GLITCH: an Intermediate-Representation-Based Security Analysis for Infrastructure as Code Scripts. arXiv preprint arXiv:2205.14371","author":"Saavedra Nuno","year":"2022","unstructured":"Nuno Saavedra and Jo\u00e3o F Ferreira. 2022. GLITCH: an Intermediate-Representation-Based Security Analysis for Infrastructure as Code Scripts. arXiv preprint arXiv:2205.14371 (2022)."},{"key":"e_1_3_2_1_35_1","volume-title":"d.]. Understand Software Metrics. https:\/\/documentation.scitools.com\/pdf\/metricsdoc.pdf. Accessed on","year":"2023","unstructured":"scitools. [n. d.]. Understand Software Metrics. https:\/\/documentation.scitools.com\/pdf\/metricsdoc.pdf. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_36_1","volume-title":"d.]. Smell detection tool for Puppet code. https:\/\/github.com\/tushartushar\/Puppeteer. Accessed on","author":"Sharma Tushar","year":"2023","unstructured":"Tushar Sharma. [n. d.]. Smell detection tool for Puppet code. https:\/\/github.com\/tushartushar\/Puppeteer. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2901739.2901761"},{"key":"e_1_3_2_1_38_1","volume-title":"d.]. https:\/\/gitlab.com\/gitlab-com\/gl-infra\/production\/-\/issues\/15999. Accessed on","author":"Smith Dave","year":"2023","unstructured":"Dave Smith. [n. d.]. https:\/\/gitlab.com\/gitlab-com\/gl-infra\/production\/-\/issues\/15999. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_39_1","volume-title":"d.]. https:\/\/github.com\/SonarSource\/sonar-iac\/tree\/master\/iac-extensions\/terraform. Accessed on","year":"2023","unstructured":"SonarSource. [n. d.]. https:\/\/github.com\/SonarSource\/sonar-iac\/tree\/master\/iac-extensions\/terraform. Accessed on: Nov 1, 2023."},{"key":"e_1_3_2_1_40_1","unstructured":"Anthony J Viera Joanne M Garrett et al. 2005. Understanding interobserver agreement: the kappa statistic. Fam med 37 5 (2005) 360--363."}],"event":{"name":"ICPC '24: 32nd IEEE\/ACM International Conference on Program Comprehension","location":"Lisbon Portugal","acronym":"ICPC '24","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering","IEEE CS"]},"container-title":["Proceedings of the 32nd IEEE\/ACM International Conference on Program Comprehension"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643916.3644439","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3643916.3644439","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T23:56:44Z","timestamp":1750291004000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643916.3644439"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,4,15]]},"references-count":40,"alternative-id":["10.1145\/3643916.3644439","10.1145\/3643916"],"URL":"https:\/\/doi.org\/10.1145\/3643916.3644439","relation":{},"subject":[],"published":{"date-parts":[[2024,4,15]]},"assertion":[{"value":"2024-06-13","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}