Towards Causal Analysis of Empirical Software Engineering Data: The Impact of Programming Languages on Coding Competitions
Open accessAbstract
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 article 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.
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
Bayesian data analysis coupled with the causal inference framework allows differentiating correlations from causal effects and drawing more reliable conclusions.
“Moreover, BDA coupled with our causal inference framework allows us to differentiate correlations from causal effects [27] and draw more reliable conclusions [30].”
From Same Scrutiny, More Time: Eye Tracking Insights into Reviewing LLM-Labelled Code (2026) · cites this paper as [30]
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Cites
The ASA Statement on <i>p</i> -Values: Context, Process, and Purpose
Wasserstein, R. L., & Lazar, N. A. (2016) · The American Statistician · doi:10.1080/00031305.2016.1154108 · Cited by 6,306 · see citing works
Causal inference in statistics: An overview
Pearl, J. (2009) · Statistics Surveys · doi:10.1214/09-ss057 · Cited by 2,336 · cited 1× · see citing works
“1 Causal Inference Causal inference denotes a process, usually built on top of mathematical/statistical concepts, for identifying and analyzing which factors lead to specific outcomes [40, 44].”
BackgroundStatistical Rethinking: A Bayesian Course with Examples in R and Stan
McElreath, R. (2020) · doi:10.1201/9780429029608 · Cited by 1,959 · see citing works
The seven tools of causal inference, with reflections on machine learning
Pearl, J. (2019) · Communications of the ACM · doi:10.1145/3241036 · Cited by 659 · see citing works
A systematic literature review of automated feedback generation for programming exercises
Keuning, H., Jeuring, J., & Heeren, B. (2019) · ACM Transactions on Computing Education · doi:10.1145/3231711 · Cited by 370 · see citing works
Flagged first, then by citations
Research works printed but not linked: 45
- Alain Abran, James W Moore, Pierre Bourque, Robert Dupuis, and L Tripp. Software engineering body of knowledge. IEEE Computer Society, Angela Burgess, page 25, 2004.
- George K Baah, Andy Podgurski, and Mary Jean Harrold. Causal inference for statistical fault local- ization. In Proceedings of the 19th international symposium on Software testing and analysis, pages 73-84, 2010.
- Alexandra Back and Emma Westman. Comparing programming languages in Google Code Jam. Mas- ter's thesis, Chalmers University of Technology, 2017. https://publications.lib.chalmers.se/records/ fulltext/250672/250672.pdf.
- Emery D. Berger, Celeste Hollenbeck, Petr Maj, Olga Vitek, and Jan Vitek. On the impact of program- ming languages on code quality: A reproduction study. ACM Transactions on Programming Languages and Systems, 41(4):21:1-21:24, 2019.
- Pascal Caillet, Sarah Klemm, Michel Ducher, Alexandre Aussem, and Anne-Marie Schott. Hip fracture in the elderly: a re-analysis of the epidos study with causal bayesian networks. PLoS One, 10(3):e0120125, 2015.
- Andrew G Clark, Michael Foster, Benedikt Prifling, Neil Walkinshaw, Robert M Hierons, Volker Schmidt, and Robert D Turner. Testing causality in scientific modelling software. arXiv preprint arXiv:2209.00357, 2022. · arXiv
- Jacob Cohen. The earth is round (p < .05). American Psychologist, 49(12):997-1003, 1994.
- Clemens Dubslaff, Kallistos Weis, Christel Baier, and Sven Apel. Causality in configurable software systems. In Proceedings of the 44th International Conference on Software Engineering, ICSE. ACM, 2022.
- Hongbo Fang, Hemank Lamba, James Herbsleb, and Bogdan Vasilescu. "This is damn slick!" Estimating the impact of tweets on open source project popularity and new contributors. In Proceedings of the 44th International Conference on Software Engineering, ICSE. ACM, 2022.
- Carlo A. Furia, Robert Feldt, and Richard Torkar. Bayesian data analysis in empirical software engineer- ing research. IEEE Transactions on Software Engineering, 47(9):1786-1810, September 2021. Publication date: August 2019.
- Carlo A. Furia, Richard Torkar, and Robert Feldt. Applying Bayesian analysis guidelines to empirical software engineering data: The case of programming languages and code quality. ACM Transactions on Software Engineering and Methodology, 31(3):40:1-40:38, 2022.
- Andrew Gelman, Jennifer Hill, and Aki Vehtari. Regression and other stories. Analytical Methods for Social Research. Cambridge University Press, Cambridge, UK, 2020.
- Steven N. Goodman. Toward evidence-based medical statistics. 1: The p value fallacy. Annals of Internal Medicine, 130(12):995-1004, 1999.
- Lasse Hakulinen. Survey on informatics competitions: Developing tasks. In Olympiads in Informatics, volume 5, pages 12-25. IOI, 2011.
- Joseph Halpern. A modification of the halpern-pearl definition of causality. In Twenty-Fourth Interna- tional Joint Conference on Artificial Intelligence, 2015.
- Stefan Hanenberg. An experiment about static and dynamic type systems: Doubts about the positive impact of static type systems on development time. In Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA '10, pages 22-35, New York, NY, USA, 2010. ACM.
- Leonard Henckel, Emilija Perković, and Marloes H. Maathuis. Graphical criteria for efficient total effect estimation via adjustment in causal linear models. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 84(2):579-599, 2022. Also https://arxiv.org/abs/1907.02435. · arXiv
- Hans-Martin Heyn and Eric Knauss. Structural causal models as boundary objects in ai system devel- opment. In 1st International Conference on AI Engineering-Software Engineering for AI, 2022.
- Guido W. Imbens. Potential outcome and directed acyclic graph approaches to causality: Relevance for empirical practice in economics. Journal of Economic Literature, 58(4):1129-79, 2020.
- Edwin T. Jaynes. Probability theory: The logic of science. Cambridge University Press, Cambridge, 2003.
- Seongmin Lee, Dave Binkley, Robert Feldt, Nicolas Gold, and Shin Yoo. Causal program dependence analysis. arXiv preprint arXiv:2104.09107, 2021. · arXiv
- Xing Li, Yinbo Yu, Kai Bu, Yan Chen, Jianfeng Yang, and Ruijie Quan. Thinking inside the box: Dif- ferential fault localization for sdn control plane. In 2019 IFIP/IEEE Symposium on Integrated Network and Service Management (IM), pages 353-359. IEEE, 2019.
- Yuchu Liu, David Issa Mattos, Jan Bosch, Helena Holmström Olsson, and Jonn Lantz. Bayesian causal inference in automotive software engineering and online evaluation. arXiv preprint arXiv:2207.00222, 2022. · arXiv
- Leo A. Meyerovich and Ariel S. Rabkin. Empirical analysis of programming language adoption. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA '13, pages 1-18, New York, NY, USA, 2013. ACM.
- Sebastian Nanz and Carlo A. Furia. A comparative study of programming languages in Rosetta Code. http://arxiv.org/abs/1409.0252, September 2014. · arXiv
- Sebastian Nanz and Carlo A. Furia. A comparative study of programming languages in Rosetta Code. In Antonia Bertolino, Gerardo Canfora, and Sebastian Elbaum, editors, Proceedings of the 37th International Conference on Software Engineering (ICSE), pages 778-788. ACM, May 2015.
- Sebastian Nanz, Faraz Torshizi, Michela Pedroni, and Bertrand Meyer. Design of an empirical study for comparing the usability of concurrent programming languages. In Proceedings of the 2011 International Symposium on Empirical Software Engineering and Measurement, ESEM '11, pages 325-334, Washington, DC, USA, 2011. IEEE Computer Society.
- Judea Pearl. Causality. Cambridge University Press, 2009.
- Judea Pearl. Causality: Models, reasoning and inference. Cambridge University Press, 2nd edition, 2009.
- Judea Pearl. The mathematics of causal inference. In Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD '11, page 5, New York, NY, USA, 2011. Associ- ation for Computing Machinery.
- Judea Pearl and Dana Mackenzie. The Book of Why. Penguin Random House, 2018.
- Jonas Peters, Dominik Janzing, and Bernhard Schölkopf. Elements of causal inference: foundations and learning algorithms. The MIT Press, 2017.
- Lutz Prechelt. An empirical comparison of seven programming languages. IEEE Computer, 33(10):23-29, October 2000.
- Baishakhi Ray, Daryl Posnett, Vladimir Filkov, and Premkumar Devanbu. A large scale study of pro- gramming languages and code quality in Github. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2014, pages 155-165, New York, NY, USA, 2014. Association for Computing Machinery.
- Jonathan G Richens, Ciarán M Lee, and Saurabh Johri. Improving the accuracy of medical diagnosis with causal machine learning. Nature communications, 11(1):1-9, 2020.
- Christopher J. Rossbach, Owen S. Hofmann, and Emmett Witchel. Is transactional programming ac- tually easier? In Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '10, pages 47-56, New York, NY, USA, 2010. ACM.
- Donald B Rubin. Estimating causal effects of treatments in randomized and nonrandomized studies. Journal of educational Psychology, 66(5):688, 1974.
- Maximilian Scholz and Paul-Christian Bürkner. Prediction can be safely used as a proxy for explanation in causally consistent Bayesian generalized linear models. https://arxiv.org/abs/2210.06927, October 2022. · arXiv
- Maximilian Scholz and Richard Torkar. An empirical study of linespots: A novel past-fault algorithm. Software Testing, Verification and Reliability, 31(8):e1787, 2021.
- Hyunmin Seo, Caitlin Sadowski, Sebastian G. Elbaum, Edward Aftandilian, and Robert W. Bowdidge. Programmers' build errors: a case study (at Google). In 36th International Conference on Software Engi- neering, ICSE '14, Hyderabad, India -May 31 -June 07, 2014, pages 724-734. ACM, 2014.
- Julian Siebert. Applications of statistical causal inference in software engineering. arXiv preprint arXiv:2211.11482, 2022. · arXiv
- Joseph P. Simmons, Leif D. Nelson, and Uri Simonsohn. False-positive psychology. Psychological Science, 22(11):1359-1366, 2011.
- Peter Spirtes and Kun Zhang. Causal discovery and inference: concepts and recent methodological advances. In Applied informatics, volume 3, pages 1-28. SpringerOpen, 2016. 2020.
- Richard Torkar, Carlo A. Furia, Robert Feldt, Francisco Gomes de Oliveira Neto, Lucas Gren, Per Lenberg, and Neil A. Ernst. A method to assess and argue for practical significance in software en- gineering. IEEE Transactions on Software Engineering, 48(6):2053-2065, June 2022. Online since January 2021.
- Aki Vehtari, Andrew Gelman, and Jonah Gabry. Practical Bayesian model evaluation using leave-one- out cross-validation and WAIC. Statistics and Computing, 27(5):1413-1432, 2017.
Cited by
Sorted by citations
Same Scrutiny, More Time: Eye Tracking Insights into Reviewing LLM-Labelled Code
Khojah, R., Gomes de Oliveira Neto, F., Mohamad, M., Frattini, J., & Leitner, P. (2026) · Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering · doi:10.1145/3832783.3834423
- Authors
- Furia, C. A., Torkar, R., & Feldt, R.
- Affiliations
- Università della Svizzera italiana (CH)
- Stellenbosch University (ZA)
- Chalmers University of Technology (SE)
- Venue
- ACM Transactions on Software Engineering and Methodology
- Published
- 2023-11-24
- Volume
- 33
- Issue
- 1
- Pages
- 1-35
- ISSN
- 1049-331X (ISSN-L)
- 1557-7392
- OpenAlex
- W4386001521
- Cited by
- 14
- References
- 5
- Citations by year
- 2026: 4 · 2025: 5 · 2024: 5
- FWCI
- 1.31
- Type
- journal article
- Language
- en
- Open access
- green
- arxiv.org
- Locations
- ACM Transactions on Software Engineering and Methodology (publishedVersion)
- arXiv (Cornell University) (submittedVersion)
- Chalmers Research (Chalmers University of Technology) (submittedVersion)
- arXiv (Cornell University)
- Topics
- Physical Sciences › Computer Science › Artificial Intelligence › Bayesian Modeling and Causal Inference
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
- Keywords
- causal analysis, structural causal models, directed acyclic graphs, causal Bayesian networks, observational data, correlation versus causation, programming languages, programmer performance, confounding
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review