The goal of the seminar Foundations for a New Perspective of Understanding Programming was to address how to modernize the perspective on program comprehension and thus make progress regarding our understanding of it. We focused on two challenges: First, we discussed how to provide guidance on addressing methodological issues in interdisciplinary program comprehension research. Second, we aimed at defining a unifying enumeration of the dimensions of a neuroscientific perspective on program comprehension, such that researchers are able to more systematically investigate gaps in the literature.
Through individual participant presentations and the resulting group discussions, we identified several relevant aspects that we discussed further in dedicated working groups. These included discussing how to make better use of eye tracking (Section 4.1), identifying the role of readability for program comprehension (Section 4.2), and considering how machine learning could help to develop a model of program comprehension (Section 4.3). These working groups helped us address the first goal of the seminar by providing guidance on program comprehension research methodologies and identifying potential next steps. To conclude the seminar, participants discussed a possible taxonomy for program comprehension research (Section 5.1). This taxonomy identifies commonalities and differences across a broad research area, and addresses our second goal of helping to unify the program comprehension research space; it can serve as a starting point for future researchers to build on to develop an understanding of program comprehension. Also, for researchers entering this field, it is a first glimpse of the complexity of understanding and researching program comprehension.
Beyond identifying research problems in program comprehension research, the many collaborative sessions at this seminar generated numerous potential multi-institutional and interdisciplinary collaborations. We hope that, by making progress on the program comprehension research challenges, we help bring this new research direction one step closer to becoming standard in programming research and disseminating it to a wider audience.
For a long time, researchers have investigated how people read and write program code on their computers and talk about code with one another. This way, researchers identified necessary skills, education, and practices to acquire expertise and perform software development duties. While the results of these investigations are valuable, they are still scarce, and often, these investigations are based on too different assumptions. Thus, we are still unable to devise and validate a scientific theory of program comprehension, which would be an important step to design support for developers that is tailored to their cognitive needs. To succeed, we need techniques to shed more light on how programmers think. To this end, we need to look beyond computer-science research.
Specifically, in the field of psychology and cognitive neuroscience, considerable progress has been made in building theories of cognitive processes. Important enabling technologies were eye tracking, functional magnetic resonance imaging (fMRI), electroencephalography (EEG), and functional near infrared spectroscopy (fNIRS). These methods have revolutionized the understanding of cognitive processes and are routinely used in various disciplines.
With the recent emergence of these methods in computer science, now is the time to provide a unified forum for discussing and designing high-quality research studies, models, and methods for investigating the cognition of programmers through biometrics and neuro-imaging devices. This seminar supports researchers using a new set of techniques that modernize classic approaches to program comprehension and human computer interaction by exploiting new experimental designs that are informed by advances in cognitive neuroscience. This will be the first Dagstuhl Seminar organized around this theme.
To define a unifying umbrella for these kind of studies, we will look at current studies and discuss key methodological challenges for these studies. In break out groups, we will discuss solutions on how these challenges can be addressed and what kind of questions can actually be answered with this new technology. As practical result of this seminar, we aim at a roadmap on how research on understanding the programmer can be moved forward in a directed and systematic way.
- Sven Apel (Universität des Saarlandes - Saarbrücken, DE) [dblp]
- Andrew Begel (Carnegie Mellon University - Pittsburgh, US) [dblp]
- Annabelle Bergum (Universität des Saarlandes - Saarbrücken, DE)
- André Brechmann (Leibniz-Institut für Neurobiologie - Magdeburg, DE)
- Teresa Busjahn (Hochschule für Technik und Wirtschaft - Berlin, DE)
- Martha E. Crosby (University of Hawaii at Manoa - Honolulu, US)
- Sarah D'Angelo (Google - Mountain View, US)
- Madeline Endres (University of Michigan - Ann Arbor, US)
- Sarah Fakhoury (Microsoft Research - Redmond, US)
- Thomas Fritz (Universität Zürich, CH) [dblp]
- Lena A. Jäger (Universität Zürich, CH)
- Timothy Kluthe (University of Nevada - Las Vegas, US)
- Yun-Fei Liu (Johns Hopkins Univ. - Baltimore, US)
- Juergen Mottok (Ostbayerische Technische Hochschule - Regensburg, DE)
- Maria Mercedes T. Rodrigo (Ateneo de Manila University - Quezon City, PH)
- Bonita Sharif (University of Nebraska - Lincoln, US) [dblp]
- Janet Siegmund (TU Chemnitz, DE) [dblp]
- Andreas Stefik (University of Nevada - Las Vegas, US) [dblp]
- Jan Stelovsky (University of Hawaii at Manoa - Honolulu, US)
- Christine Lourrine S. Tablatin (Pangasian State University, PH and Ateneo de Manila University - Quezon City, PH)
- Kubo Takatomi (Nara Institute of Science and Technology, JP)
- Westley Weimer (University of Michigan - Ann Arbor, US) [dblp]
- Marvin Wyrich (Universität Stuttgart, DE) [dblp]
- Human-Computer Interaction
- Software Engineering
- Programming methodology
- programming education
- program comprehension
- eye tracking
- human cognition