# Dataflow graphs as complete causal graphs

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

## Key facts

- Cited by 5 papers in the map (data through 14 Oct 2026).
- Builds on 10 of its 50 references that are in the map.
- First posted on arXiv 16 Mar 2023.

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

- [Counterfactual Explanations without Opening the Black Box: Automated Decisions and the GDPR](https://mlsanity.com/paper/1711.00399/) (2017)
- [Challenges in Deploying Machine Learning: a Survey of Case Studies](https://mlsanity.com/paper/2011.09926/) (2020)
- [Causal de Finetti: On the Identification of Invariant Causal Structure in Exchangeable Data](https://mlsanity.com/paper/2203.15756/) (2022)
- [DoWhy-GCM: An extension of DoWhy for causal inference in graphical causal models](https://mlsanity.com/paper/2206.06821/) (2022)
- [Why did the distribution change?](https://mlsanity.com/paper/2102.13384/) (2021)
- [Applications of statistical causal inference in software engineering](https://mlsanity.com/paper/2211.11482/) (2022)
- [Evaluation of Induced Expert Knowledge in Causal Structure Learning by NOTEARS](https://mlsanity.com/paper/2301.01817/) (2023)
- [An Empirical Evaluation of Flow Based Programming in the Machine Learning Deployment Context](https://mlsanity.com/paper/2204.12781/) (2022)
- [Testing Causality in Scientific Modelling Software](https://mlsanity.com/paper/2209.00357/) (2022)
- [Desiderata for next generation of ML model serving](https://mlsanity.com/paper/2210.14665/) (2022)

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

- [iSCAN: Identifying Causal Mechanism Shifts among Nonlinear Additive Noise Models](https://mlsanity.com/paper/2306.17361/) (2023)
- [Causal Reasoning in Software Quality Assurance: A Systematic Review](https://mlsanity.com/paper/2408.17183/) (2024)
- [Self-sustaining Software Systems (S4): Towards Improved Interpretability and Adaptation](https://mlsanity.com/paper/2401.11370/) (2024)
- [Probabilistic Modelling is Sufficient for Causal Inference](https://mlsanity.com/paper/2512.23408/) (2025)
- [Causal fault localisation in dataflow systems](https://mlsanity.com/paper/2304.11987/) (2023)

## Abstract (arXiv)

Component-based development is one of the core principles behind modern software engineering practices. Understanding of causal relationships between components of a software system can yield significant benefits to developers. Yet modern software design approaches make it difficult to track and discover such relationships at system scale, which leads to growing intellectual debt. In this paper we consider an alternative approach to software design, flow-based programming (FBP), and draw the attention of the community to the connection between dataflow graphs produced by FBP and structural causal models. With expository examples we show how this connection can be leveraged to improve day-to-day tasks in software projects, including fault localisation, business analysis and experimentation.
