VLDB 2026 Research / reviewers in the wild / expert
Filip Strömbäck
dblp:228/4860
· DBLP profile ↗
11ranked-venue papers
7as first author
7since 2021 · last 2026
0000-0002-0556-6893ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 9 · 5 first-author · 6 since 2021Software engineering, systems software and programming languages · 2 · 2 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Introduction to Concurrent Programming in C: An Open Course Book With Program VisualizationsabstractExisting literature on concurrent programming either lacks sufficient detail on how to apply the material to write correct and performant concurrent programs, or is at a level that is unsuitable as an introduction to concurrent programming. This poster introduces the open course book Introduction to Concurrent Programming in C that aims to address this gap by helping students build an accurate model of how concurrent programs behave through examples and visualizations in Progvis, and by showing how to properly synchronize programs through examples and exercises that use Progvis' model checker to provide automatic feedback. Filip Strömbäck |
SIGCSE (2) | 1 |
| 2026 | Students' Understanding of (Delimited) ContinuationsabstractContinuations, particularly delimited continuations, enable manipulation of control flow and are thus useful for implementing new control structures. Even though continuations have been studied for a long time, and teaching them as an advanced topic for CS majors is becoming increasingly relevant, little research exists on teaching (delimited) continuations. This paper aims to start filling this gap by investigating students' understanding of continuations using thematic analysis and identifying mistakes students tend to make when tracing programs that use continuations. The findings consist of categories that describe common views of continuations, as well as different sets of mistakes that correspond to different misinterpretations of continuations or the underlying computational model. These early results are useful for informing future teaching of continuations and guide development of teaching tools, and furthermore, they provide a starting point for research into more formal misconceptions and development of concept inventories. Filip Strömbäck, Youyou Cong, Kazuki Ikemori |
SIGCSE (1) | 1 |
| 2024 | Designing a Pedagogical Framework for Developing Abstraction SkillsabstractAbstraction is a fundamental skill and concept in computer science and it is also a difficult skill to teach. The purpose of the working group is to analyse different perspectives of abstraction's conceptualisation and ways of teaching the skill. Therefore as a result of the working group we will be first identifying how abstraction is discussed and defined in key literature. As a team we will agree on the perspectives and models we will like to explore in teaching context. Finally we will work with computing educators and computing education researchers to design a pedagogical framework that will enable the development of the abstraction skills. Marjahan Begum, Julia Crossley, Filip Strömbäck, Eleni C. Akrida, Isaac Alpizar Chacon, Abigail Evans, Joshua B. Gross, Pontus Haglund, Violetta Lonati, Chandrika Satyavolu, Sverrir Thorgeirsson |
ITiCSE (2) | 3 |
| 2024 | Grasping the Unseen: TA Insights into Teaching Subtle Concepts in Computer ScienceabstractConquering fundamental programming concepts that subtly affect program behavior is a challenge for Computer Science (CS) students. Learning parameter passing, aliasing, scope, and references, how they work and being able to reason about them, is crucial for CS students. In this qualitative study we explore how these concepts are taught from the perspective of Teaching Assistants (TAs). Using phenomenographic analysis we find several areas that could be improved regarding the activities and assessments that students are exposed to during their studies. These findings include issues with consistent grading, the training of TAs, the support structures offered to TAs, and variations in the perceived focus on these concepts. Finally, our results highlight a need to explore how proficient TAs are with these concepts. Pontus Haglund, Linda Mannila, Filip Strömbäck, Aseel Berglund |
ITiCSE (1) | 3 |
| 2024 | Active DSU: Dynamic Software Updates for Active FunctionsabstractDynamic Software Updating (DSU) is a technique for updating programs without restarting them. It is useful in systems that provide live programming or in system with high availability needs. As a common limitation, existing DSU systems cannot update active functions. Hence, they are unable to update long-running functions, such as the main loop in a web server, or a state machine in an embedded system implemented as a loop. Updating active functions is challenging as it requires updating local variables and control flow to create a consistent state in the new version of the function. In this paper, we propose Active DSU, which updates the call stack to migrate data and control flow of active functions without the need to wait for the program to reach a particular state beforehand. This is achieved by replacing return addresses with stubs to avoid moving other stack frames on the call stack. Active DSU can migrate control flow automatically without input from the programmer in most cases. Filip Strömbäck, Dániel Varró |
Onward! | 1 |
| 2022 | It's Okay Because I Worked Really Hard! - Student Justifications for Questionable Collaboration while Solving Computer LabsabstractIn this full research paper we examine questionable collaboration from a student perspective. Collaborating while solving computer lab assignments is often considered an important part when learning computer science, as it allows students to discuss their work, while also practicing working together. However, it also introduces risks, such as students collaborating in ways negatively impacting their learning outcomes and leading to inaccurate grading. Hence it is important to work towards reducing the use of these poor collaborative practices. In order to ameliorate the problem with academic misconduct, we need to understand students’ justifications for deviating from acceptable practices. In this paper we therefore investigate how students justify their collaborative practices during computer lab assignments in situations they experience as questionable. The justifications were collected through 15 semi-structured interviews with students experienced in pair programming, majoring in computer science and other technical fields from two large well-known European universities.The justifications from the interviews were analysed using phenomenography resulting in seven categories: external pressure, lack of interest, spending time on the assignment, understanding the end product, contributing to the process, learning from the assignment and reflecting on the purpose of the learning. These describe in which situations students might deviate from the rules and can be used by institutions to prevent such behavior. Camilla Björn, Pontus Haglund, Katharina Munz, Filip Strömbäck |
FIE | 4 |
| 2021 | Pilot Study of a Visualization Tool for Object Graphs and Concurrency via Shared MemoryabstractConcurrency and synchronization are two topics that are becoming increasingly important as multicore systems and distributed systems are becoming the norm. However, prior research shows that students struggle with these topics, perhaps partially since they require a good understanding of language semantics and abstract reasoning. To aid students' learning, we developed Progvis to visualize these concepts and let students experiment with them. We also conducted a pilot study of whether the tool helps students to solve synchronization problems, and the results are promising. Filip Strömbäck, Linda Mannila, Mariam Kamkar |
SIGCSE | 1 |
| 2020 | Assessing How Pre-requisite Skills Affect Learning of Advanced ConceptsabstractStudents often struggle with advanced computing courses, and comparatively few studies have looked into the reasons for this. It seems that learners do not master the most basic concepts, or forget them between courses. If so, remedial practice could improve learning, but instructors rightly will not use scarce time for this without strong evidence. Based on personal observation, program tracing seems to be an important pre-requisite skill, but there is yet little research that provides evidence for this observation. To investigate this, our group will create theory-based assessments on how tracing knowledge affects learning of advanced topics, such as data structures, algorithms, and concurrency. This working group will identify relevant concepts in advanced courses, then conceptually analyze their pre-requisites and where an imagined student with some tracing difficulties would encounter barriers. The group will use this theory to create instructor-usable assessments for advanced topics that also identify issues caused by poor pre-requisite knowledge. These assessments may then be used at the start and end of advanced courses to evaluate to what extent students' difficulties with the advanced course originate from poor pre-requisite knowledge. Greg L. Nelson, Filip Strömbäck, Ari Korhonen, Ibrahim Albluwi, Marjahan Begum, Ben Blamey, Karen H. Jin, Violetta Lonati, Bonnie K. MacKellar, Mattia Monga |
ITiCSE | 2 |
| 2020 | Exploring Students' Understanding of Concurrency - A Phenomenographic StudyabstractThis paper continues previous efforts in understanding the problems students face when learning concurrency. In this paper, we explore students' understanding of the subject using phenomenography in order to gain insights that can aid in explaining the underlying causes for common student mistakes in concurrency, which has been studied in depth previously. Students' experience of concurrency and critical sections were analyzed using a phenomenographic study based on interviews with students attending one of two courses on concurrency and operating systems. We present 6 categories describing students' experience of concurrency, and 4 categories describing students' experience of critical sections in this paper. Furthermore, these categories are related to previous results, both to explore how misconceptions in the categores relate to student mistakes and to estimate how common it is for each category to be discerned. Filip Strömbäck, Linda Mannila, Mariam Kamkar |
SIGCSE | 1 |
| 2019 | A Student's View of Concurrency - A Study of Common Mistakes in Introductory Courses on ConcurrencyabstractThis paper investigates common misconceptions held by students regarding concurrency in order to better understand how concurrency education can be improved in the future. As a part of the exam in two courses on concurrency and operating systems, students were asked to identify and eliminate any concurrency issues in a piece of code as a part of their final exam. Different types of mistakes were identified and the 216 answers were sorted into categories accordingly. The results presented in this paper show that while most students were able to identify the cause of an issue given its symptoms, only approximately half manage to successfully eliminate the concurrency issues. Many of the incorrect solutions fail to associate shared data with a synchronization primitive, e.g. using one lock to protect multiple instances of a data structure, or multiple locks to protect the same instance in different situations. This suggests that students may not only have trouble dealing with concepts related to concurrency, but also more fundamental concepts related to the underlying computational model. Finally, this paper proposes possible explanations for the students' mistakes in terms of improper mental models, and suggests types of problems that highlight the issues with these mental models to improve students' understanding of the subject. Filip Strömbäck, Linda Mannila, Mikael Asplund, Mariam Kamkar |
ICER | 1 |
| 2018 | Storm: a language platform for interacting and extensible languages (tool demo)abstractThe ability to extend programming languages with domain-specific concepts is becoming an essential technology for developing complex software. However, many domain-specific languages are implemented in a way that interact poorly with the host language. There are a number of tools that aim to improve the situation by simplifying the creation of domain-specific languages, and allow easier interactions between the host language and the domain-specific language. However, many of these tools are limited to a single host language, and rarely allow extending the language used for language creation. To improve the situation, we created the language platform Storm, which aims to make the creation and usage of multiple extensible languages easy and seamless. This is accomplished by means of a shared, standardized namespace and in-process code generation, which gives Storm a high degree of extensibility, making it possible to extend or replace the built-in languages at will. Filip Strömbäck |
SLE | 1 |