DocumentCode
731487
Title
Co-evolution of Infrastructure and Source Code - An Empirical Study
Author
Yujuan Jiang ; Adams, Bram
Author_Institution
MCIS Lab., Polytech. Montreal, Montreal, QC, Canada
fYear
2015
fDate
16-17 May 2015
Firstpage
45
Lastpage
55
Abstract
Infrastructure-as-code automates the process of configuring and setting up the environment (e.g., servers, VMs and databases) in which a software system will be tested and/or deployed, through textual specification files in a language like Puppet or Chef. Since the environment is instantiated automatically by the infrastructure languages´ tools, no manual intervention is necessary apart from maintaining the infrastructure specification files. The amount of work involved with such maintenance, as well as the size and complexity of infrastructure specification files, have not yet been studied empirically. Through an empirical study of the version control system of 265 Open Stack projects, we find that infrastructure files are large and churn frequently, which could indicate a potential of introducing bugs. Furthermore, we found that the infrastructure code files are coupled tightly with the other files in a project, especially test files, which implies that testers often need to change infrastructure specifications when making changes to the test framework and tests.
Keywords
formal specification; source code (software); infrastructure code files; infrastructure coevolution; infrastructure specifications; source code; Association rules; Cloud computing; Couplings; Maintenance engineering; Measurement; Servers;
fLanguage
English
Publisher
ieee
Conference_Titel
Mining Software Repositories (MSR), 2015 IEEE/ACM 12th Working Conference on
Conference_Location
Florence
Type
conf
DOI
10.1109/MSR.2015.12
Filename
7180066
Link To Document