# Unicorn: Reasoning about Configurable System Performance through the lens of Causality

arXiv: https://arxiv.org/abs/2201.08413 · HTML: https://mlsanity.com/paper/2201.08413/

## Key facts

- Cited by 12 papers in the map (data through 14 Oct 2026).
- Builds on 26 of its 115 references that are in the map.
- First posted on arXiv 20 Jan 2022.

## Builds on (most cited first, 26 of 26)

- [BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding](https://mlsanity.com/paper/1810.04805/) (2018)
- [Xception: Deep Learning with Depthwise Separable Convolutions](https://mlsanity.com/paper/1610.02357/) (2016)
- [Deep Speech: Scaling up end-to-end speech recognition](https://mlsanity.com/paper/1412.5567/) (2014)
- [Towards Causal Representation Learning](https://mlsanity.com/paper/2102.11107/) (2021)
- [The Causal-Neural Connection: Expressiveness, Learnability, and Inference](https://mlsanity.com/paper/2107.00793/) (2021)
- [Predictive Entropy Search for Multi-objective Bayesian Optimization](https://mlsanity.com/paper/1511.05467/) (2015)
- [Learning Neural Causal Models with Active Interventions](https://mlsanity.com/paper/2109.02429/) (2021)
- [Entropic Causal Inference](https://mlsanity.com/paper/1611.04035/) (2016)
- [Semiparametric Inference For Causal Effects In Graphical Models With Hidden Variables](https://mlsanity.com/paper/2003.12659/) (2020)
- [Causal Testing: Finding Defects' Root Causes](https://mlsanity.com/paper/1809.06991/) (2018)
- [Transfer Learning for Performance Modeling of Configurable Systems: An Exploratory Analysis](https://mlsanity.com/paper/1709.02280/) (2017)
- [An Evaluation Toolkit to Guide Model Selection and Cohort Definition in Causal Inference](https://mlsanity.com/paper/1906.00442/) (2019)
- [An Uncertainty-Aware Approach to Optimal Configuration of Stream Processing Systems](https://mlsanity.com/paper/1606.06543/) (2016)
- [Learning Software Configuration Spaces: A Systematic Literature Review](https://mlsanity.com/paper/1906.03018/) (2019)
- [Transfer Learning for Improving Model Predictions in Highly Configurable Software](https://mlsanity.com/paper/1704.00234/) (2017)
- [White-Box Analysis over Machine Learning: Modeling Performance of Configurable Systems](https://mlsanity.com/paper/2101.05362/) (2021)
- [Causality-Guided Adaptive Interventional Debugging](https://mlsanity.com/paper/2003.09539/) (2020)
- [An Evolutionary Study of Configuration Design and Implementation in Cloud Systems](https://mlsanity.com/paper/2102.07052/) (2021)
- [Faster Discovery of Faster System Configurations with Spectral Learning](https://mlsanity.com/paper/1701.08106/) (2017)
- [Transfer Learning for Performance Modeling of Configurable Systems: A Causal Analysis](https://mlsanity.com/paper/1902.10119/) (2019)
- [Inforence: Effective Fault Localization Based on Information-Theoretic Analysis and Statistical Causal Inference](https://mlsanity.com/paper/1712.03361/) (2017)
- [Predicting Performance of Software Configurations: There is no Silver Bullet](https://mlsanity.com/paper/1911.12643/) (2019)
- [Less is More: Minimizing Code Reorganization using XTREE](https://mlsanity.com/paper/1609.03614/) (2016)
- [Test them all, is it worth it? Assessing configuration sampling on the JHipster Web development stack](https://mlsanity.com/paper/1710.07980/) (2017)
- [Transfer Learning for Performance Modeling of Deep Neural Network Systems](https://mlsanity.com/paper/1904.02838/) (2019)
- [Automated Reasoning and Detection of Specious Configuration in Large Systems with Symbolic Execution](https://mlsanity.com/paper/2010.06356/) (2020)

## Built on by (most cited first, 12 of 12)

- [Do Performance Aspirations Matter for Guiding Software Configuration Tuning?](https://mlsanity.com/paper/2301.03290/) (2023)
- [Predicting Configuration Performance in Multiple Environments with Sequential Meta-learning](https://mlsanity.com/paper/2402.03183/) (2024)
- [Applications of statistical causal inference in software engineering](https://mlsanity.com/paper/2211.11482/) (2022)
- [Towards Causal Deep Learning for Vulnerability Detection](https://mlsanity.com/paper/2310.07958/) (2023)
- [Rating Sentiment Analysis Systems for Bias through a Causal Lens](https://mlsanity.com/paper/2302.02038/) (2023)
- [CaRE: Finding Root Causes of Configuration Issues in Highly-Configurable Robots](https://mlsanity.com/paper/2301.07690/) (2023)
- [The Effect of Human v/s Synthetic Test Data and Round-tripping on Assessment of Sentiment Analysis Systems for Bias](https://mlsanity.com/paper/2401.12985/) (2024)
- [Causal Reasoning in Software Quality Assurance: A Systematic Review](https://mlsanity.com/paper/2408.17183/) (2024)
- [IPA: Inference Pipeline Adaptation to Achieve High Accuracy and Cost-Efficiency](https://mlsanity.com/paper/2308.12871/) (2023)
- [Can LLMs Configure Software Tools](https://mlsanity.com/paper/2312.06121/) (2023)
- [Hardness, Structural Knowledge, and Opportunity: An Analytical Framework for Modular Performance Modeling](https://mlsanity.com/paper/2509.11000/) (2025)
- [Causal Software Engineering: A Vision and Roadmap](https://mlsanity.com/paper/2605.02454/) (2026)

## Abstract (arXiv)

Modern computer systems are highly configurable, with the total variability space sometimes larger than the number of atoms in the universe. Understanding and reasoning about the performance behavior of highly configurable systems, over a vast and variable space, is challenging. State-of-the-art methods for performance modeling and analyses rely on predictive machine learning models, therefore, they become (i) unreliable in unseen environments (e.g., different hardware, workloads), and (ii) may produce incorrect explanations. To tackle this, we propose a new method, called Unicorn, which (i) captures intricate interactions between configuration options across the software-hardware stack and (ii) describes how such interactions can impact performance variations via causal inference. We evaluated Unicorn on six highly configurable systems, including three on-device machine learning systems, a video encoder, a database management system, and a data analytics pipeline. The experimental results indicate that Unicorn outperforms state-of-the-art performance debugging and optimization methods in finding effective repairs for performance faults and finding configurations with near-optimal performance. Further, unlike the existing methods, the learned causal performance models reliably predict performance for new environments.
