Mitigating Omitted Variable Bias in Empirical Software Engineering
Carlo A. Furia, Richard Torkar
TL;DR
The paper addresses omitted variable bias in observational empirical software engineering and argues that causal structural models (DAGs) combined with adjustment sets and sensitivity analyses provide robust strategies to identify, quantify, and mitigate bias. It demonstrates two illustrative cases—programming language effects on code quality and team size effects on effort—to show how unmeasured confounders can distort causal inferences and how DAG-driven adjustments or tipping-point/E-value analyses can restore or bound validity. A practical workflow is presented: define variables and causal structure, determine adjustment sets, and apply sensitivity analyses or simulations when unmeasured confounding cannot be fully resolved. The work contributes actionable guidelines and a replication package to help researchers design more valid observational studies in software engineering and beyond.
Abstract
Omitted variable bias occurs when a statistical model leaves out variables that are relevant determinants of the effects under study. This results in the model attributing the missing variables' effect to some of the included variables -- hence over- or under-estimating the latter's true effect. Omitted variable bias presents a significant threat to the validity of empirical research, particularly in non-experimental studies such as those prevalent in empirical software engineering. This paper illustrates the impact of omitted variable bias on two illustrative examples in the software engineering domain, and uses them to present methods to investigate the possible presence of omitted variable bias, to estimate its impact, and to mitigate its drawbacks. The analysis techniques we present are based on causal structural models of the variables of interest, which provide a practical, intuitive summary of the key relations among variables. This paper demonstrates a sequence of analysis steps that inform the design and execution of any empirical study in software engineering. An important observation is that it pays off to invest effort investigating omitted variable bias before actually executing an empirical study, because this effort can lead to a more solid study design, and to a significant reduction in its threats to validity.
