VLDB 2026 Research / reviewers in the wild / expert
Ava Heinonen
dblp:273/5156
· DBLP profile ↗
3ranked-venue papers
3as first author
3since 2021 · last 2023
0000-0001-7967-5331ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 2 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Understanding initial API comprehensionabstractProgrammers encounter new Application Programming Interfaces (APIs) regularly as a part of their work. Difficulties in API comprehension affect programmers’ performance and the quality of the software they produce. To effectively support API comprehension, it is important to understand how programmers comprehend new APIs in real-life work contexts.In this study, we explore programmers’ initial API comprehension efforts. We analyze what information programmers need about an API before they are ready to start working with it and the actions and information sources they use to acquire this information. Furthermore, we identify different contextual factors that affect this process.We used the critical incident method to interview programmers about their API comprehension processes in work contexts. Our results show that before our participants were ready to start using an API for a task, they sought information about the API from various sources to assess its validity and evaluate it with respect to the requirements of the task. They used their background knowledge to steer their information-seeking efforts and to recognize key pieces of information that strengthened or weakened their confidence in the suitability of the API for the task at hand.As initial API comprehension and the resulting initial API mental models seem to guide further stages of programmers’ API comprehension efforts, they heavily influence the direction of the rest of the comprehension process. Therefore, it should be considered in the design of means to support API comprehension, such as API documentation. Ava Heinonen, Fabian Fagerholm |
ICPC | 1 |
| 2023 | Time-constrained Code Recall Tasks for Monitoring the Development of Programming PlansabstractProgrammers rely on the recognition and utilization of reoccurring code sequences to understand and create code. Knowledge of these sequences --programming plans -- has been shown to be a factor that differentiates novice programmers from experts. Although the information on the development of programming plans would be beneficial to both teachers and students, explicitly following their development over a longer time period is scarce. In this article, we describe an easy-to-apply methodology for monitoring the development of programming plans. The development of programming plans is evaluated with time-constrained code recall tasks, where students are shown snippets of code for a short period of time, after which they write the snippets they saw. To determine the existence of programming plans, the short duration is designed so that reading the shown code is not feasible in the given time period. We demonstrate the methodology through an experiment in which we studied the development of programming plans in students in a beginner web programming course. Ava Heinonen, Arto Hellas |
SIGCSE (1) | 1 |
| 2023 | Synthesizing research on programmers' mental models of programs, tasks and concepts - A systematic literature reviewabstractProgrammers’ 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. 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. 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. 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. 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. Ava Heinonen, Bettina Lehtelä, Arto Hellas, Fabian Fagerholm |
Inf. Softw. Technol. | 1 |