2026 / Empirical Software Engineering (EMSE) , Accepted
Following Breadcrumbs in Code: What Accidentally Committed Ad-Hoc Logs Reveal about Developer Comprehension
Read the paper
Open full screen (new tab) ↗︎Author preprint (arXiv). If your browser cannot display the preview, open or download the PDF above.
Download Following Breadcrumbs in Code: What Accidentally Committed Ad-Hoc Logs Reveal about Developer Comprehension (PDF) ↓The question
How do ad-hoc logs reveal runtime comprehension across languages?
How we studied it
This follow-up to Learning from Mistakes combines accidental-commit mining across Java, JavaScript, and Python with live-streamed programming sessions.
What we learned
The study identifies shared and language-specific logging patterns and an association between logging and higher cyclomatic complexity. It extends the original JavaScript study to a broader view of runtime comprehension.
Read the abstract
Developers frequently insert temporary print or log statements, known as ad-hoc logs, to better understand program behavior at runtime. This work mines accidental commits and analyzes live-streamed programming sessions to study these ephemeral practices across Java, JavaScript, and Python. The analysis reveals shared and language-specific patterns, including asynchronous and callback functions in JavaScript and thread-related classes in Java. Functions containing ad-hoc logs generally have higher cyclomatic complexity, with production logs showing a similar association. These findings provide insight into runtime comprehension and a dataset for researchers and tool builders.
Summary adapted from the publication abstract. See the original paper for full methods, findings, and limitations.