An Evolutionary Study of Configuration Design and Implementation in Cloud Systems

02/14/2021
by   Yuanliang Zhang, et al.
0

Many techniques were proposed for detecting software misconfigurations in cloud systems and for diagnosing unintended behavior caused by such misconfigurations. 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. This paper 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 misconfigurations. 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 systems (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.

READ FULL TEXT
research
05/21/2018

Empirical Software Engineering: From Discipline to Interdiscipline

Empirical software engineering has received much attention in recent yea...
research
04/03/2020

Software Engineering For Automated Game Design

As we develop more assistive and automated game design systems, the ques...
research
11/13/2013

Impact of Limpware on HDFS: A Probabilistic Estimation

With the advent of cloud computing, thousands of machines are connected ...
research
08/01/2022

In War and Peace: The Impact of World Politics on Software Ecosystems

Reliance on third-party libraries is now commonplace in contemporary sof...
research
03/22/2022

Dozer: Migrating Shell Commands to Ansible Modules via Execution Profiling and Synthesis

Software developers frequently use the system shell to perform configura...
research
02/10/2018

Mining Container Image Repositories for Software Configuration and Beyond

This paper introduces the idea of mining container image repositories fo...
research
02/15/2019

ForestFirewalls: Getting Firewall Configuration Right in Critical Networks (Technical Report)

Firewall configuration is critical, yet often conducted manually with in...

Please sign up or login with your details

Forgot password? Click here to reset