TY - GEN
T1 - An Evolutionary Study of Configuration Design and Implementation in Cloud Systems
AU - Zhang, Yuanliang
AU - He, Haochen
AU - Legunsen, Owolabi
AU - Li, Shanshan
AU - Dong, Wei
AU - Xu, Tianyin
N1 - Publisher Copyright:
© 2021 IEEE.
PY - 2021/5
Y1 - 2021/5
N2 - Many techniques have been proposed for detecting soft-ware misconfigurations and diagnosing unintended behavior caused by misconfigurations in cloud systems. Detection and diagnosis are steps in the right direction: misconfigurations cause many costly failures and severe performance issues. But, we argue that continued focus on detection and diagnosis is symptomatic of a more serious problem: configuration design and implementation are not yet first-class software engineering endeavors in cloud systems. Little is known about how and why developers evolve configuration design and implementation, and the challenges that they face in doing so. We presents a source-code level study of the evolution of configuration design and implementation in cloud systems. Our goal is to understand the rationale and developer practices for revising initial configuration design/implementation decisions, especially in response to consequences of mis-configurations. To this end, we studied 1178 configuration-related commits from a 2.5 year version-control history of four large-scale, actively-maintained open-source cloud system projects (HDFS, HBase, Spark, and Cassandra). We derive new insights into the software configuration engineering process. Our results motivate new techniques for proactively reducing misconfigurations by improving the configuration design and implementation process in cloud systems. We highlight a number of future research directions.
AB - Many techniques have been proposed for detecting soft-ware misconfigurations and diagnosing unintended behavior caused by misconfigurations in cloud systems. Detection and diagnosis are steps in the right direction: misconfigurations cause many costly failures and severe performance issues. But, we argue that continued focus on detection and diagnosis is symptomatic of a more serious problem: configuration design and implementation are not yet first-class software engineering endeavors in cloud systems. Little is known about how and why developers evolve configuration design and implementation, and the challenges that they face in doing so. We presents a source-code level study of the evolution of configuration design and implementation in cloud systems. Our goal is to understand the rationale and developer practices for revising initial configuration design/implementation decisions, especially in response to consequences of mis-configurations. To this end, we studied 1178 configuration-related commits from a 2.5 year version-control history of four large-scale, actively-maintained open-source cloud system projects (HDFS, HBase, Spark, and Cassandra). We derive new insights into the software configuration engineering process. Our results motivate new techniques for proactively reducing misconfigurations by improving the configuration design and implementation process in cloud systems. We highlight a number of future research directions.
KW - Crawler script
KW - Empirical study data
KW - Manual study tutorial
UR - http://www.scopus.com/inward/record.url?scp=85114276274&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85114276274&partnerID=8YFLogxK
U2 - 10.1109/ICSE-Companion52605.2021.00075
DO - 10.1109/ICSE-Companion52605.2021.00075
M3 - Conference contribution
AN - SCOPUS:85114276274
T3 - Proceedings - International Conference on Software Engineering
SP - 175
EP - 176
BT - Proceedings - 2021 IEEE/ACM 43rd International Conference on Software Engineering
PB - IEEE Computer Society
T2 - 43rd IEEE/ACM International Conference on Software Engineering: Companion, ICSE-Companion 2021
Y2 - 25 May 2021 through 28 May 2021
ER -