Towards Causal Analysis of Empirical Software Engineering Data: The Impact of Programming Languages on Coding Competitions
Not on the map. Why?
Abstract (arXiv)
There is abundant observational data in the software engineering domain, whereas running large-scale controlled experiments is often practically impossible. Thus, most empirical studies can only report statistical correlations -- instead of potentially more insightful and robust causal relations. To support analyzing purely observational data for causal relations, and to assess any differences between purely predictive and causal models of the same data, this paper discusses some novel techniques based on structural causal models (such as directed acyclic graphs of causal Bayesian networks). Using these techniques, one can rigorously express, and partially validate, causal hypotheses; and then use the causal information to guide the construction of a statistical model that captures genuine causal relations -- such that correlation does imply causation. We apply these ideas to analyzing public data about programmer performance in Code Jam, a large world-wide coding contest organized by Google every year. Specifically, we look at the impact of different programming languages on a participant's performance in the contest. While the overall effect associated with programming languages is weak compared to other variables -- regardless of whether we consider correlational or causal links -- we found considerable differences between a purely associational and a causal analysis of the very same data. The takeaway message is that even an imperfect causal analysis of observational data can help answer the salient research questions more precisely and more robustly than with just purely predictive techniques -- where genuine causal effects may be confounded.
Key facts. Cited by 4 papers in the map (data through 7 Oct 2026). First posted on arXiv 18 Jan 2023.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2023: 1; 2024: 1; 2025: 1; 2026: 1.
4 papers.
- 2025A Study of LLMs' Preferences for Libraries and Programming Languagescited by 20
- 2023Benchmarking and Explaining Large Language Model-based Code Generation: A Causality-Centric Approachcited by 15
- 2024Causal Reasoning in Software Quality Assurance: A Systematic Reviewcited by 3
- 2026Augmentation with Dilution: A Large-Scale Empirical Study of Human Contributor Ecosystems After AI Coding Agent Adoptioncited by 0
- 2026Augmentation with Dilution: A Large-Scale Empirical Study of Human Contributor Ecosystems After AI Coding Agent Adoption24 Jun 2026
- 2025A Study of LLMs' Preferences for Libraries and Programming Languages21 Mar 2025
- 2024Causal Reasoning in Software Quality Assurance: A Systematic Review30 Aug 2024
- 2023Benchmarking and Explaining Large Language Model-based Code Generation: A Causality-Centric Approach10 Oct 2023