Thinking aloud about confusing code: a qualitative investigation of program comprehension and atoms of confusion
Dan Gopstein, Anne‐Laure Fayard, Sven Apel, Justin Cappos
Abstract
Atoms of confusion are small patterns of code that have been empirically validated to be difficult to hand-evaluate by programmers. Previous research focused on defining and quantifying this phenomenon, but not on explaining or critiquing it. In this work, we address core omissions to the body of work on atoms of confusion, focusing on the ‘how’ and ‘why’ of programmer misunderstanding.
Topics & Concepts
ConfusionProgrammerProgram comprehensionComputer scienceThink aloud protocolComprehensionCore (optical fiber)PhenomenonCode (set theory)Programming languageWork (physics)Human–computer interactionSoftwarePsychologyUsabilityEpistemologySoftware systemEngineeringTelecommunicationsMechanical engineeringSet (abstract data type)PhilosophyPsychoanalysisSoftware Engineering ResearchSoftware Engineering Techniques and PracticesSoftware Reliability and Analysis Research