Theory of Troubleshooting: The Developer's Cognitive Experience of Overcoming Confusion
Arty Starr, Margaret-Anne Storey

TL;DR
This paper develops a cognitive science-based theory of troubleshooting in software development, explaining how prolonged troubleshooting causes mental fatigue and project risks, grounded in interviews with professional developers.
Contribution
It introduces a novel cognitive theory of troubleshooting rooted in empirical developer interviews, linking mental processes to troubleshooting challenges and fatigue.
Findings
Troubleshooting depletes cognitive resources and causes fatigue.
Confusion during troubleshooting is linked to neurological and attentional dynamics.
The theory provides practical insights for improving developer sustainability.
Abstract
This paper introduces a Theory of Troubleshooting that is rooted in cognitive science. This theory helps software developers explain the challenges they face and the project risks that emerge as troubleshooting becomes difficult. We define troubleshooting as the cognitive problem-solving process of identifying, understanding, and constructing a mental model of the cause of an unexpected system behavior, and consider the cognitive process of troubleshooting to be an integral part of the activity of debugging. Troubleshooting is a particularly intense and draining aspect of software work, placing sustained demands on attention, working memory, and mental modeling. By surfacing and naming the confusion experience inherent in troubleshooting in terms of neurological and attentional dynamics, our theory explains how prolonged troubleshooting can deplete cognitive resources and lead to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Techniques and Practices · Software Engineering Research · Usability and User Interface Design
