Cognition in Software Engineering: A Taxonomy and Survey of a Half-Century of Research
Fabian Fagerholm, Michael Felderer, Davide Fucci, Michael, Unterkalmsteiner, Bogdan Marculescu, Markus Martini, Lars G\"oran Wallgren, Tengberg, Robert Feldt, Bettina Lehtel\"a, Bal\'azs Nagyv\'aradi, Jehan, Khattak

TL;DR
This paper presents a comprehensive taxonomy of cognitive concepts relevant to software engineering and surveys five decades of research, revealing gaps and suggesting directions for future studies.
Contribution
It introduces a detailed cognitive taxonomy for software engineering and systematically classifies 311 papers, highlighting research trends and gaps over fifty years.
Findings
Research is concentrated on requirements, design, construction, and maintenance.
Most studies are quantitative focusing on knowledge, load, memory, reasoning.
The field is fragmented with limited integration of cognitive concepts.
Abstract
Cognition plays a fundamental role in most software engineering activities. This article provides a taxonomy of cognitive concepts and a survey of the literature since the beginning of the Software Engineering discipline. The taxonomy comprises the top-level concepts of perception, attention, memory, cognitive load, reasoning, cognitive biases, knowledge, social cognition, cognitive control, and errors, and procedures to assess them both qualitatively and quantitatively. The taxonomy provides a useful tool to filter existing studies, classify new studies, and support researchers in getting familiar with a (sub) area. In the literature survey, we systematically collected and analysed 311 scientific papers spanning five decades and classified them using the cognitive concepts from the taxonomy. Our analysis shows that the most developed areas of research correspond to the four life-cycle…
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 Research · Software Engineering Techniques and Practices
