{"id":"https://openalex.org/W4366818398","doi":"https://doi.org/10.1109/icsa-c57050.2023.00072","title":"Towards Reliable Infrastructure as Code","display_name":"Towards Reliable Infrastructure as Code","publication_year":2023,"publication_date":"2023-03-01","ids":{"openalex":"https://openalex.org/W4366818398","doi":"https://doi.org/10.1109/icsa-c57050.2023.00072"},"language":"en","primary_location":{"id":"doi:10.1109/icsa-c57050.2023.00072","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icsa-c57050.2023.00072","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5025018560","display_name":"Daniel Sokolowski","orcid":"https://orcid.org/0000-0003-2911-8304"},"institutions":[{"id":"https://openalex.org/I202963720","display_name":"University of St. Gallen","ror":"https://ror.org/0561a3s31","country_code":"CH","type":"education","lineage":["https://openalex.org/I202963720"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Daniel Sokolowski","raw_affiliation_strings":["University of St. Gallen,Switzerland","University of St. Gallen, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of St. Gallen,Switzerland","institution_ids":["https://openalex.org/I202963720"]},{"raw_affiliation_string":"University of St. Gallen, Switzerland","institution_ids":["https://openalex.org/I202963720"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5090555377","display_name":"Guido Salvaneschi","orcid":"https://orcid.org/0000-0002-9324-8894"},"institutions":[{"id":"https://openalex.org/I202963720","display_name":"University of St. Gallen","ror":"https://ror.org/0561a3s31","country_code":"CH","type":"education","lineage":["https://openalex.org/I202963720"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Guido Salvaneschi","raw_affiliation_strings":["University of St. Gallen,Switzerland","University of St. Gallen, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of St. Gallen,Switzerland","institution_ids":["https://openalex.org/I202963720"]},{"raw_affiliation_string":"University of St. Gallen, Switzerland","institution_ids":["https://openalex.org/I202963720"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5025018560"],"corresponding_institution_ids":["https://openalex.org/I202963720"],"apc_list":null,"apc_paid":null,"fwci":2.6038,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":{"value":0.93540407,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"318","last_page":"321"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12423","display_name":"Software Reliability and Analysis Research","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8043979406356812},{"id":"https://openalex.org/keywords/unit-testing","display_name":"Unit testing","score":0.7210643291473389},{"id":"https://openalex.org/keywords/white-box-testing","display_name":"White-box testing","score":0.6456904411315918},{"id":"https://openalex.org/keywords/fuzz-testing","display_name":"Fuzz testing","score":0.5231039524078369},{"id":"https://openalex.org/keywords/black-box-testing","display_name":"Black-box testing","score":0.49740365147590637},{"id":"https://openalex.org/keywords/reliability-engineering","display_name":"Reliability engineering","score":0.4785897731781006},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4737823009490967},{"id":"https://openalex.org/keywords/random-testing","display_name":"Random testing","score":0.47145920991897583},{"id":"https://openalex.org/keywords/robustness-testing","display_name":"Robustness testing","score":0.4687903821468353},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.46475306153297424},{"id":"https://openalex.org/keywords/dynamic-program-analysis","display_name":"Dynamic program analysis","score":0.46166354417800903},{"id":"https://openalex.org/keywords/code-coverage","display_name":"Code coverage","score":0.4606494903564453},{"id":"https://openalex.org/keywords/regression-testing","display_name":"Regression testing","score":0.44525086879730225},{"id":"https://openalex.org/keywords/manual-testing","display_name":"Manual testing","score":0.41284751892089844},{"id":"https://openalex.org/keywords/non-regression-testing","display_name":"Non-regression testing","score":0.4108216166496277},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.36473292112350464},{"id":"https://openalex.org/keywords/test-case","display_name":"Test case","score":0.3583250045776367},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.26265209913253784},{"id":"https://openalex.org/keywords/software-system","display_name":"Software system","score":0.26233235001564026},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.2420869767665863},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.12248733639717102}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8043979406356812},{"id":"https://openalex.org/C148027188","wikidata":"https://www.wikidata.org/wiki/Q907375","display_name":"Unit testing","level":3,"score":0.7210643291473389},{"id":"https://openalex.org/C162443782","wikidata":"https://www.wikidata.org/wiki/Q1066228","display_name":"White-box testing","level":5,"score":0.6456904411315918},{"id":"https://openalex.org/C111065885","wikidata":"https://www.wikidata.org/wiki/Q1189053","display_name":"Fuzz testing","level":3,"score":0.5231039524078369},{"id":"https://openalex.org/C24169984","wikidata":"https://www.wikidata.org/wiki/Q879969","display_name":"Black-box testing","level":5,"score":0.49740365147590637},{"id":"https://openalex.org/C200601418","wikidata":"https://www.wikidata.org/wiki/Q2193887","display_name":"Reliability engineering","level":1,"score":0.4785897731781006},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4737823009490967},{"id":"https://openalex.org/C106159264","wikidata":"https://www.wikidata.org/wiki/Q17146789","display_name":"Random testing","level":4,"score":0.47145920991897583},{"id":"https://openalex.org/C137726913","wikidata":"https://www.wikidata.org/wiki/Q7353550","display_name":"Robustness testing","level":3,"score":0.4687903821468353},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.46475306153297424},{"id":"https://openalex.org/C140006998","wikidata":"https://www.wikidata.org/wiki/Q2499307","display_name":"Dynamic program analysis","level":3,"score":0.46166354417800903},{"id":"https://openalex.org/C53942775","wikidata":"https://www.wikidata.org/wiki/Q1211721","display_name":"Code coverage","level":3,"score":0.4606494903564453},{"id":"https://openalex.org/C161821725","wikidata":"https://www.wikidata.org/wiki/Q917415","display_name":"Regression testing","level":5,"score":0.44525086879730225},{"id":"https://openalex.org/C182122060","wikidata":"https://www.wikidata.org/wiki/Q6752328","display_name":"Manual testing","level":5,"score":0.41284751892089844},{"id":"https://openalex.org/C86469151","wikidata":"https://www.wikidata.org/wiki/Q917415","display_name":"Non-regression testing","level":5,"score":0.4108216166496277},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.36473292112350464},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.3583250045776367},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.26265209913253784},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.26233235001564026},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.2420869767665863},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.12248733639717102},{"id":"https://openalex.org/C152877465","wikidata":"https://www.wikidata.org/wiki/Q208042","display_name":"Regression analysis","level":2,"score":0.0},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/icsa-c57050.2023.00072","is_oa":false,"landing_page_url":"https://doi.org/10.1109/icsa-c57050.2023.00072","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.6499999761581421,"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W1480909796","https://openalex.org/W2107709519","https://openalex.org/W2121077396","https://openalex.org/W2499811908","https://openalex.org/W2612135540","https://openalex.org/W2734788368","https://openalex.org/W2806377938","https://openalex.org/W2884432391","https://openalex.org/W2908957302","https://openalex.org/W2945905227","https://openalex.org/W2962604136","https://openalex.org/W2981920849","https://openalex.org/W2993710525","https://openalex.org/W3104429612","https://openalex.org/W3108419307","https://openalex.org/W3118657661","https://openalex.org/W3123074563","https://openalex.org/W3137008396","https://openalex.org/W3157440142","https://openalex.org/W3183224878","https://openalex.org/W3193569759","https://openalex.org/W4244488020","https://openalex.org/W4308641634","https://openalex.org/W4312578982","https://openalex.org/W6712457687"],"related_works":["https://openalex.org/W3119380829","https://openalex.org/W2903305687","https://openalex.org/W3019261932","https://openalex.org/W167451129","https://openalex.org/W4388858992","https://openalex.org/W2955968478","https://openalex.org/W2515650212","https://openalex.org/W2472032217","https://openalex.org/W4400949861","https://openalex.org/W1994593436"],"abstract_inverted_index":{"Modern":[0],"Infrastructure":[1],"as":[2,51,107],"Code":[3],"(IaC)":[4],"programs":[5,90,114,157],"are":[6,55,110],"increasingly":[7],"complex":[8],"and":[9,32,38,53,73,141,187,207],"much":[10],"closer":[11],"to":[12,16,46,86,96,154,196,199],"traditional":[13],"software":[14,43],"than":[15],"simple":[17],"configuration":[18,185],"scripts.":[19],"Their":[20],"reliability":[21],"is":[22,84,94,167],"crucial":[23],"because":[24],"their":[25,197],"failure":[26],"prevents":[27],"the":[28,100,132,138,145,164,177],"deployment":[29],"of":[30,163],"applications,":[31],"incorrect":[33],"behavior":[34],"can":[35,77,193],"introduce":[36],"malfunction":[37],"severe":[39],"security":[40],"issues.":[41],"Yet,":[42],"engineering":[44],"tools":[45],"develop":[47],"reliable":[48],"programs,":[49,174],"such":[50,106],"testing":[52,104,134,152,176,215],"verification,":[54],"barely":[56],"used":[57],"in":[58,80,91,144,158,179],"IaC.":[59],"In":[60],"fact,":[61],"we":[62,130,218],"observed":[63],"that":[64,76],"developers":[65,192],"mainly":[66],"rely":[67],"on":[68],"integration":[69],"testing,":[70,109],"a":[71,168,213],"slow":[72],"expensive":[74],"practice":[75],"increase":[78],"confidence":[79,143],"end-to-end":[81],"functionality":[82],"but":[83],"infeasible":[85],"systematically":[87],"test":[88,146,155,204],"IaC":[89,113,156,173],"various":[92],"configurations\u2014which":[93],"required":[95],"ensure":[97],"robustness.":[98],"On":[99],"other":[101],"hand,":[102],"fast":[103],"techniques,":[105],"unit":[108,151],"cumbersome":[111],"with":[112],"because,":[115],"today,":[116],"they":[117],"require":[118],"significant":[119],"coding":[120],"overhead":[121,140],"while":[122],"only":[123],"providing":[124],"limited":[125],"confidence.To":[126],"solve":[127],"this":[128],"issue,":[129],"envision":[131],"automated":[133],"tool":[135],"ProTI,":[136],"reducing":[137],"manual":[139],"boosting":[142],"results.":[147],"ProTI":[148,166,212],"embraces":[149],"modern":[150],"techniques":[153],"many":[159,180],"different":[160,181],"configurations.":[161],"Out":[162],"box,":[165],"fuzzer":[169],"for":[170,183],"Pulumi":[171],"TypeScript":[172],"randomly":[175],"program":[178,198],"configurations":[182],"termination,":[184],"correctness,":[186],"existing":[188],"policy":[189],"compliance.":[190],"Then":[191],"add":[194,208],"specifications":[195],"guide":[200],"random-based":[201],"value":[202],"generation,":[203],"additional":[205],"properties,":[206,224],"further":[209],"mocking,":[210],"making":[211],"property-based":[214],"tool.":[216],"Lastly,":[217],"aim":[219],"at":[220],"automatically":[221],"verifying":[222],"IaC-specific":[223],"e.g.,":[225],"access":[226],"paths":[227],"between":[228],"resources.":[229]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":2}],"updated_date":"2026-03-29T08:15:47.926485","created_date":"2025-10-10T00:00:00"}
