2 Citations (Scopus)
17 Downloads (Pure)

Abstract

Context: Programmers’ mental models represent their knowledge and understanding of programs, programming concepts, and programming in general. They guide programmers’ work and influence their task performance. Understanding mental models is important for designing work systems and practices that support programmers. Objective: Although the importance of programmers’ mental models is widely acknowledged, research on mental models has decreased over the years. The results are scattered and do not take into account recent developments in software engineering. In this article, we analyze the state of research on programmers’ mental models and provide an overview of existing research. We connect results on mental models from different strands of research to form a more unified knowledge base on the topic. Method: We conducted a systematic literature review on programmers’ mental models. We analyzed literature addressing mental models in different contexts, including mental models of programs, programming tasks, and programming concepts. Using nine search engines, we found 3678 articles (excluding duplicates). Of these, 84 were selected for further analysis. Using the snowballing technique, starting from these 84, we obtained a final result set containing 187 articles. Results: We show that the literature shares a kernel of shared understanding of mental models. By collating and connecting results on mental models from different fields of research, we provide a comprehensive synthesis of results related to programmers’ mental models. Conclusion: The research field on programmers’ mental models faces many challenges arising from a lack of a shared knowledge base and poorly defined constructs. By creating a unified knowledge base on the topic, this work provides a basis for future work on mental models. We also point to directions for future studies. In particular, we call for studies that examine programmers working with modern practices and tools.

Original languageEnglish
Article number107300
JournalInformation and Software Technology
Volume164
DOIs
Publication statusPublished - Dec 2023
MoE publication typeA2 Review article, Literature review, Systematic review

Keywords

  • Empirical software engineering
  • Human factors
  • Mental model
  • Mental representation
  • Program comprehension
  • Programmer
  • Psychology of programming
  • Software developer
  • Software development
  • Systematic literature review

Fingerprint

Dive into the research topics of 'Synthesizing research on programmers’ mental models of programs, tasks and concepts — A systematic literature review'. Together they form a unique fingerprint.

Cite this