EDBT 2026 Demo / reviewers in the wild / expert
Janet Siegmund
dblp:88/7055 · also Janet Feigenspan
· DBLP profile ↗
49ranked-venue papers
16as first author
10since 2021 · last 2026
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 47 · 16 first-author · 9 since 2021Human-computer interaction and ubiquitous computing · 2 · 1 since 2021Artificial intelligence and machine learning · 1Applied, interdisciplinary, general and emerging computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | On the Influence of the Baseline in Neuroimaging Experiments on Program ComprehensionabstractBackground : Neuroimaging methods have been proved insightful in program-comprehension research. A key problem is that different baselines have been used in different experiments. A baseline is a task during which the “normal” brain activation is captured as a reference compared to the task of interest. Unfortunately, the influence of the choice of the baseline is still unclear. Aims : We investigate whether and to what extent the selected baseline influences the results of neuroimaging experiments on program comprehension. This helps to understand the tradeoffs in baseline selection with the ultimate goal of making the baseline selection informed and transparent. Method : We have conducted a pre-registered program-comprehension study with 20 participants using multiple baselines (i.e., reading, calculations, problem solving, and cross-fixation). We monitored brain activation with a 64-channel electroencephalography (EEG) device. We compared how the different baselines affect the results regarding brain activation of program comprehension. Results and Implications : We found significant differences in mental load across baselines suggesting that selecting a suitable baseline is critical. Our results show that a standard problem-solving task, operationalized by the Raven-Progressive Matrices, is a well-suited default baseline for program-comprehension studies. Our results highlight the need for carefully designing and selecting a baseline in program-comprehension studies. Annabelle Bergum, Norman Peitek, Maurice Rekrut, Janet Siegmund, Sven Apel |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2025 | Knowledge Transfer and False Friends: Insights on Transitioning from C to JavaabstractBackground: When acquiring new programming languages, learners typically transfer their knowledge from previous languages to the new one. Recent studies demonstrate that this transfer is similar to the process of learning a second language, so learning can be more efficient, but also interference can take place, similar to false friends. While these studies demonstrate the existence of transfer, they have focused on programming languages with rather larger differences, such as Python versus Java. Objective: Our goal is to understand how students transfer between two similar programming languages, that is, from$\mathbf{C}$to Java, adding a different angle to how transfer takes place. Method and Results: To this end, we gave students a Java comprehension test in the first week of a CS2 course, after they have completed a CS1 course based on C. We could confirm that students transfer knowledge from$\mathbf{C}$to Java, including false friends. We repeated this study a year later, but included a dedicated Java tutorial before conducting the Java comprehension test. With these explicit instructions, students experienced less interference when learning Java, demonstrating that they profit from being made explicitly aware of the syntactical intricacies of Java. However, we also observed persistent interference for some concepts, indicating the need for more in-depth instructions. Yifan Du 0005, Belinda Schantong, Janet Siegmund |
CSEE&T | 3 |
| 2025 | "Ok Pal, we have to code that now": interaction patterns of programming beginners with a conversational chatbot
Alina Mailach, Dominik Gorgosch, Norbert Siegmund, Janet Siegmund |
Empir. Softw. Eng. | 4 |
| 2025 | Toward a theory on programmer's block inspired by writer's blockabstractAbstract Context Programmer’s block, akin to writer’s block, is a phenomenon where capable programmers struggle to create code. Despite anecdotal evidence, no scientific studies have explored the relationship between programmer’s block and writer’s block. Objective The primary objective of this study is to study the presence of blocks during programming and their potential causes. Method We conducted semi-structured interviews with experienced programmers to capture their processes, the problems they face, and potential causes. Subsequently, we analyzed the responses through the lens of writing. Results We found that among the programmer’s problems during programming, several display strong similarities to writer’s block. Moreover, when investigating possible causes of such blocks, we found a strong relationship between programming and writing activities as well as typical writing strategies employed by programmers. Conclusions Strong similarities between programming and writing challenges, processes, and strategies confirm the existence of programmer’s block with similar causes to writer’s block. Thus, strategies from writing used to resolve blocks should be applicable in programming, helping developers to overcome phases of being stuck. Research at the intersection of both areas could lead to productivity gains through reduced developer downtimes. Belinda Schantong, Norbert Siegmund, Janet Siegmund |
Empir. Softw. Eng. | 3 |
| 2025 | Understanding the low inter-rater agreement on aggressiveness on the Linux Kernel Mailing ListabstractCommunication among software developers plays an essential role in open-source software (OSS) projects. Not unexpectedly, previous studies have shown that the conversational tone and, in particular, aggressiveness influence the participation of developers in OSS projects. Therefore, we aimed at studying aggressive communication behavior on the Linux Kernel Mailing List (LKML), which is known for aggressive e-mails of some of its contributors. To that aim, we attempted to assess the extent of aggressiveness of 720 e-mails from the LKML with a human annotation study, involving multiple annotators, to select a suitable sentiment analysis tool. The results of our annotation study revealed that there is substantial disagreement, even among humans, which uncovers a deeper methodological challenge of studying aggressiveness in the software-engineering domain. Adjusting our focus, we dug deeper and investigated why the agreement among humans is generally low, based on manual investigations of ambiguously rated e-mails. Our results illustrate that human perception is individual and context dependent, especially when it comes to technical content. Thus, when identifying aggressiveness in software-engineering texts, it is not sufficient to rely on aggregated measures of human annotations. Hence, sentiment analysis tools specifically trained on human-annotated data do not necessarily match human perception of aggressiveness, and corresponding results need to be taken with a grain of salt. By reporting our results and experience, we aim at confirming and raising additional awareness of this methodological challenge when studying aggressiveness (and sentiment, in general) in the software-engineering domain. Thomas Bock 0002, Niklas Schneider, Angelika Schmid, Sven Apel, Janet Siegmund |
J. Syst. Softw. | 5 |
| 2023 | Hierarchical and Hybrid Organizational Structures in Open-source Software Projects: A Longitudinal StudyabstractDespite the absence of a formal process and a central command-and-control structure, developer organization in open-source software (OSS) projects are far from being a purely random process. Prior work indicates that, over time, highly successful OSS projects develop a hybrid organizational structure that comprises a hierarchical part and a non-hierarchical part. This suggests that hierarchical organization is not necessarily a global organizing principle and that a fundamentally different principle is at play below the lowest positions in the hierarchy. Given the vast proportion of developers are in the non-hierarchical part, we seek to understand the interplay between these two fundamentally differently organized groups, how this hybrid structure evolves, and the trajectory individual developers take through these structures over the course of their participation. We conducted a longitudinal study of the full histories of 20 popular OSS projects, modeling their organizational structures as networks of developers connected by communication ties and characterizing developers’ positions in terms of hierarchical (sub)structures in these networks. We observed a number of notable trends and patterns in the subject projects: (1) hierarchy is a pervasive structural feature of developer networks of OSS projects; (2) OSS projects tend to form hybrid organizational structures, consisting of a hierarchical and a non-hierarchical part; and (3) the positional trajectory of a developer starts loosely connected in the non-hierarchical part and then tightly integrate into the hierarchical part, which is associated with the acquisition of experience (tenure), in addition to coordination and coding activities. Our study (a) provides a methodological basis for further investigations of hierarchy formation, (b) suggests a number of hypotheses on prevalent organizational patterns and trends in OSS projects to be addressed in further work, and (c) may ultimately guide the governance of organizational structures. Mitchell Joblin, Barbara Eckl, Thomas Bock 0002, Angelika Schmid, Janet Siegmund, Sven Apel |
ACM Trans. Softw. Eng. Methodol. | 5 |
| 2022 | Correlates of programmer efficacy and their link to experience: a combined EEG and eye-tracking studyabstractBackground: Despite similar education and background, programmers can exhibit vast differences in efficacy. While research has identified some potential factors, such as programming experience and domain knowledge, the effect of these factors on programmers' efficacy is not well understood. Aims: We aim at unraveling the relationship between efficacy (speed and correctness) and measures of programming experience. We further investigate the correlates of programmer efficacy in terms of reading behavior and cognitive load. Method: For this purpose, we conducted a controlled experiment with 37 participants using electroencephalography (EEG) and eye tracking. We asked participants to comprehend up to 32 Java source-code snippets and observed their eye gaze and neural correlates of cognitive load. We analyzed the correlation of participants' efficacy with popular programming experience measures. Results: We found that programmers with high efficacy read source code more targeted and with lower cognitive load. Commonly used experience levels do not predict programmer efficacy well, but self-estimation and indicators of learning eagerness are fairly accurate. Implications: The identified correlates of programmer efficacy can be used for future research and practice (e.g., hiring). Future research should also consider efficacy as a group sampling method, rather than using simple experience measures. Norman Peitek, Annabelle Bergum, Maurice Rekrut, Jonas Mucke, Matthias Nadig, Chris Parnin, Janet Siegmund, Sven Apel |
ESEC/SIGSOFT FSE | 7 |
| 2022 | Correction to: Preface to the special issue on program comprehension
Janet Siegmund, Chanchal Kumar Roy |
Empir. Softw. Eng. | 1 |
| 2021 | Program Comprehension and Code Complexity Metrics: An fMRI StudyabstractBackground: Researchers and practitioners have been using code complexity metrics for decades to predict how developers comprehend a program. While it is plausible and tempting to use code metrics for this purpose, their validity is debated, since they rely on simple code properties and rarely consider particularities of human cognition. Aims: We investigate whether and how code complexity metrics reflect difficulty of program comprehension. Method: We have conducted a functional magnetic resonance imaging (fMRI) study with 19 participants observing program comprehension of short code snippets at varying complexity levels. We dissected four classes of code complexity metrics and their relationship to neuronal, behavioral, and subjective correlates of program comprehension, overall analyzing more than 41 metrics. Results: While our data corroborate that complexity metrics can-to a limited degree-explain programmers' cognition in program comprehension, fMRI allowed us to gain insights into why some code properties are difficult to process. In particular, a code's textual size drives programmers' attention, and vocabulary size burdens programmers' working memory. Conclusion: Our results provide neuro-scientific evidence supporting warnings of prior research questioning the validity of code complexity metrics and pin down factors relevant to program comprehension. Future Work: We outline several follow-up experiments investigating fine-grained effects of code complexity and describe possible refinements to code complexity metrics. Norman Peitek, Sven Apel, Chris Parnin, André Brechmann, Janet Siegmund |
ICSE | 5 |
| 2021 | Mastering Variation in Human Studies: The Role of AggregationabstractThe human factor is prevalent in empirical software engineering research. However, human studies often do not use the full potential of analysis methods by combining analysis of individual tasks and participants with an analysis that aggregates results over tasks and/or participants. This may hide interesting insights of tasks and participants and may lead to false conclusions by overrating or underrating single-task or participant performance. We show that studying multiple levels of aggregation of individual tasks and participants allows researchers to have both insights from individual variations as well as generalized, reliable conclusions based on aggregated data. Our literature survey revealed that most human studies perform either a fully aggregated analysis or an analysis of individual tasks. To show that there is important, non-trivial variation when including human participants, we reanalyze 12 published empirical studies, thereby changing the conclusions or making them more nuanced. Moreover, we demonstrate the effects of different aggregation levels by answering a novel research question on published sets of fMRI data. We show that when more data are aggregated, the results become more accurate. This proposed technique can help researchers to find a sweet spot in the tradeoff between cost of a study and reliability of conclusions. Janet Siegmund, Norman Peitek, Sven Apel, Norbert Siegmund |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 2020 | What Drives the Reading Order of Programmers?: An Eye Tracking StudyabstractBackground: The way how programmers comprehend source code depends on several factors, including the source code itself and the programmer. Recent studies showed that novice programmers tend to read source code more like natural language text, whereas experts tend to follow the program execution flow. But, it is unknown how the linearity of source code and the comprehension strategy influence programmers' linearity of reading order. Norman Peitek, Janet Siegmund, Sven Apel |
ICPC | 2 |
| 2020 | Community expectations for research artifacts and evaluation processesabstractBackground. Artifact evaluation has been introduced into the software engineering and programming languages research community with a pilot at ESEC/FSE 2011 and has since then enjoyed a healthy adoption throughout the conference landscape. Objective. In this qualitative study, we examine the expectations of the community toward research artifacts and their evaluation processes. Method. We conducted a survey including all members of artifact evaluation committees of major conferences in the software engineering and programming language field since the first pilot and compared the answers to expectations set by calls for artifacts and reviewing guidelines. Results. While we find that some expectations exceed the ones expressed in calls and reviewing guidelines, there is no consensus on quality thresholds for artifacts in general. We observe very specific quality expectations for specific artifact types for review and later usage, but also a lack of their communication in calls. We also find problematic inconsistencies in the terminology used to express artifact evaluation’s most important purpose – replicability. Conclusion. We derive several actionable suggestions which can help to mature artifact evaluation in the inspected community and also to aid its introduction into other communities in computer science. Ben Hermann, Stefan Winter 0001, Janet Siegmund |
ESEC/SIGSOFT FSE | 3 |
| 2020 | Dimensions of software configuration: on the configuration context in modern software developmentabstractWith the rise of containerization, cloud development, and continuous integration and delivery, configuration has become an essential aspect not only to tailor software to user requirements, but also to configure a software system’s environment and infrastructure. This heterogeneity of activities, domains, and processes blurs the term configuration, as it is not clear anymore what tasks, artifacts, or stakeholders are involved and intertwined. However, each re- search study and each paper involving configuration places their contributions and findings in a certain context without making the context explicit. This makes it difficult to compare findings, translate them to practice, and to generalize the results. Thus, we set out to evaluate whether these different views on configuration are really distinct or can be summarized under a common umbrella. By interviewing practitioners from different domains and in different roles about the aspects of configuration and by analyzing two qualitative studies in similar areas, we derive a model of configuration that provides terminology and context for research studies, identifies new research opportunities, and allows practitioners to spot possible challenges in their current tasks. Although our interviewees have a clear view about configuration, it substantially differs due to their personal experience and role. This indicates that the term configuration might be overloaded. However, when taking a closer look, we see the interconnections and dependencies among all views, arriving at the conclusion that we need to start considering the entire spectrum of dimensions of configuration. Norbert Siegmund, Nicolai Ruckel, Janet Siegmund |
ESEC/SIGSOFT FSE | 3 |
| 2020 | On the fulfillment of coordination requirements in open-source software projects: An exploratory study
Claus Hunsen, Janet Siegmund, Sven Apel |
Empir. Softw. Eng. | 2 |
| 2020 | Preface to the special issue on program comprehensionabstractWe are excited to present six selected papers of the 26th IEEE/ACM International Conference on Program Comprehension 2018, which took place in Gothenburg, Sweden, together with the 40th International Conference on Software Engineering.We received 69 submissions in total, of which we could accept 26.Each paper received at least three reviews and was discussed online, following a triple blind model, such that the reviewers did not know the identities of the authors, and that reviewers even did not know the identities of the other reviewers.The PC chairs selected papers to be invited for the special issue, such that all nominees for a distinguished paper award were invited.Furthermore, papers with a positive average score (1.0 on a 4 point scale from -2 to 2) and discussions among the PC members were also considered, as well as suggestions from the PC members.This resulted in the invitation of six papers, which all could be accepted for publication after considerable extension according to EMSE standard.This first invited paper, which received a distinguished paper award, evaluated the cognitive load of developers.The author team of Sarah Fakhoury, Devjeet Roy, Yuzhan Ma, Venera Arnaoudova, and Olusola Adesope contribute an extended version entitled "Measuring the Impact of Lexical and Structural Inconsistencies on Developers' Cognitive Load during Bug Localization".The paper presents a multi-modal approach to assess developers cognitive load based on a combination of functional near-infrared spectroscopy (fNIRS) and eye tracking.In addition to demonstrating the reliability of their multimodal approach by comparing the selfestimated cognitive load of participants with sensor information, the authors found evidence that changing the structure of code (e.g., violating coding conventions) does not increase cognitive load, but violating naming conventions for identifiers does.Additionally, the modalities to assess cognitive load all seem to capture different aspects of task difficulty.The second invited paper also received a distinguished paper award.The author team of Xing Hu, Ge Li, Xin Xia, David Lo, and Zhi Jin contribute their extended version entitled "Deep Code Comment Generation with Hybrid Lexical and Syntactical Information".In their paper, the authors develop an approach to automatically generate comments to Java methods, Janet Siegmund, Chanchal Kumar Roy |
Empir. Softw. Eng. | 1 |
| 2020 | A Look into Programmers' HeadsabstractProgram comprehension is an important, but hard to measure cognitive process. This makes it difficult to provide suitable programming languages, tools, or coding conventions to support developers in their everyday work. Here, we explore whether functional magnetic resonance imaging (fMRI) is feasible for soundly measuring program comprehension. To this end, we observed 17 participants inside an fMRI scanner while they were comprehending source code. The results show a clear, distinct activation of five brain regions, which are related to working memory, attention, and language processing, which all fit well to our understanding of program comprehension. Furthermore, we found reduced activity in the default mode network, indicating the cognitive effort necessary for program comprehension. We also observed that familiarity with Java as underlying programming language reduced cognitive effort during program comprehension. To gain confidence in the results and the method, we replicated the study with 11 new participants and largely confirmed our findings. Our results encourage us and, hopefully, others to use fMRI to observe programmers and, in the long run, answer questions, such as: How should we train programmers? Can we train someone to become an excellent programmer? How effective are new languages and tools for program comprehension? Norman Peitek, Janet Siegmund, Sven Apel, Christian Kästner, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, André Brechmann |
IEEE Trans. Software Eng. | 2 |
| 2019 | Indentation: simply a matter of style or support for program comprehension?abstractAn early study showed that indentation is not a matter of style, but provides actual support for program comprehension. In this paper, we present a non-exact replication of this study. Our aim is to provide empirical evidence for the suggested level of indentation made by many style guides. Following Miara and others, we also included the perceived difficulty, and we extended the original design to gain additional insights into the influence of indentation on visual effort by employing an eye-tracker. In the course of our study, we asked 22 participants to calculate the output of Java code snippets with different levels of indentation, while we recorded their gaze behavior. We did not find any indication that the indentation levels affect program comprehension or visual effort, so we could not replicate the findings of Miara and others. Nevertheless, our modernization of the original experiment design is a promising starting point for future studies in this field. Jennifer Bauer, Janet Siegmund, Norman Peitek, Johannes C. Hofmeister, Sven Apel |
ICPC | 2 |
| 2019 | CodersMUSE: multi-modal data exploration of program-comprehension experimentsabstractProgram comprehension is a central cognitive process in programming. It has been in the focus of researchers for decades, but is still not thoroughly unraveled. Multi-modal psycho-physiological and neurobiological measurement methods have proved successful to gain a more holistic understanding of program comprehension. However, there is no proper tool support that lets researchers explore synchronized, conjoint multi-modal data, specifically designed for the needs in program-comprehension research. In this paper, we present CodersMUSE, a prototype implementation that aims to satisfy this crucial need. Norman Peitek, Sven Apel, André Brechmann, Chris Parnin, Janet Siegmund |
ICPC | 5 |
| 2019 | Shorter identifier names take longer to comprehend
Johannes C. Hofmeister, Janet Siegmund, Daniel V. Holt |
Empir. Softw. Eng. | 2 |
| 2019 | Comparing the influence of using feature-oriented programming and conditional compilation on comprehending feature-oriented software
Alcemir Rodrigues Santos, Ivan do Carmo Machado, Eduardo Santana de Almeida, Janet Siegmund, Sven Apel |
Empir. Softw. Eng. | 4 |
| 2018 | Simultaneous measurement of program comprehension with fMRI and eye tracking: a case studyabstractBackground Researchers have recently started to validate decades-old program-comprehension models using functional magnetic resonance imaging (fMRI). While fMRI helps us to understand neural correlates of cognitive processes during program comprehension, its comparatively low temporal resolution (i.e., seconds) cannot capture fast cognitive subprocesses (i.e., milliseconds). Norman Peitek, Janet Siegmund, Chris Parnin, Sven Apel, Johannes C. Hofmeister, André Brechmann |
ESEM | 2 |
| 2018 | Indicators for merge conflicts in the wild: survey and empirical study
Olaf Leßenich, Janet Siegmund, Sven Apel, Christian Kästner, Claus Hunsen |
Autom. Softw. Eng. | 2 |
| 2017 | Comprehending studies on program comprehensionabstractProgram comprehension is an important aspect of developing and maintaining software, as programmers spend most of their time comprehending source code. Thus, it is the focus of many studies and experiments to evaluate approaches and techniques that aim to improve program comprehension. As the amount of corresponding work increases, the question arises how researchers address program comprehension. To answer this question, we conducted a literature review of papers published at the International Conference on Program Comprehension, the major venue for research on program comprehension. In this article, we i) present preliminary results of the literature review and ii) derive further research directions. The results indicate the necessity for a more detailed analysis of program comprehension and empirical research. Ivonne von Nostitz-Wallwitz, Jacob Krüger, Janet Siegmund, Thomas Leich |
ICPC | 3 |
| 2017 | Renaming and shifted code in structured merging: looking ahead for precision and performanceabstractDiffing and merging of source-code artifacts is an essential task when integrating changes in software versions. While state-of-the-art line-based merge tools (e.g., git merge) are fast and independent of the programming language used, they have only a low precision. Recently, it has been shown that the precision of merging can be substantially improved by using a language-aware, structured approach that works on abstract syntax trees. But, precise structured merging is NP hard, especially, when considering the notoriously difficult scenarios of renamings and shifted code. To address these scenarios without compromising scalability, we propose a syntax-aware, heuristic optimization for structured merging that employs a lookahead mechanism during tree matching. The key idea is that renamings and shifted code are not arbitrarily distributed, but their occurrence follows patterns, which we address with a syntax-specific lookahead. Our experiments with 48 real-world open-source projects (4,878 merge scenarios with over 400 million lines of code) demonstrate that we can significantly improve matching precision in 28 percent of cases while maintaining performance. Olaf Leßenich, Sven Apel, Christian Kästner, Georg Seibt, Janet Siegmund |
ASE | 5 |
| 2017 | Measuring neural efficiency of program comprehensionabstractMost modern software programs cannot be understood in their entirety by a single programmer. Instead, programmers must rely on a set of cognitive processes that aid in seeking, filtering, and shaping relevant information for a given programming task. Several theories have been proposed to explain these processes, such as ``beacons,' for locating relevant code, and ``plans,'' for encoding cognitive models. However, these theories are decades old and lack validation with modern cognitive-neuroscience methods. In this paper, we report on a study using functional magnetic resonance imaging (fMRI) with 11 participants who performed program comprehension tasks. We manipulated experimental conditions related to beacons and layout to isolate specific cognitive processes related to bottom-up comprehension and comprehension based on semantic cues. We found evidence of semantic chunking during bottom-up comprehension and lower activation of brain areas during comprehension based on semantic cues, confirming that beacons ease comprehension. Janet Siegmund, Norman Peitek, Chris Parnin, Sven Apel, Johannes C. Hofmeister, Christian Kästner, Andrew Begel, Anja Bethmann, André Brechmann |
ESEC/SIGSOFT FSE | 1 |
| 2017 | Shorter identifier names take longer to comprehendabstractDevelopers spend the majority of their time comprehending code, a process in which identifier names play a key role. Although many identifier naming styles exist, they often lack an empirical basis and it is not quite clear whether short or long identifier names facilitate comprehension. In this paper, we investigate the effect of different identifier naming styles (letters, abbreviations, words) on program comprehension, and whether these effects arise because of their length or their semantics. We conducted an experimental study with 72 professional C# developers, who looked for defects in source-code snippets. We used a within-subjects design, such that each developer saw all three versions of identifier naming styles and we measured the time it took them to find a defect. We found that words lead to, on average, 19% faster comprehension speed compared to letters and abbreviations, but we did not find a significant difference in speed between letters and abbreviations. The results of our study suggest that defects in code are more difficult to detect when code contains only letters and abbreviations. Words as identifier names facilitate program comprehension and can help to save costs and improve software quality. Johannes C. Hofmeister, Janet Siegmund, Daniel V. Holt |
SANER | 2 |
| 2016 | Modernizing Plan-Composition StudiesabstractPlan composition is an important but under-studied topic in programming education. Most studies were done three decades ago, under assumptions that miss important issues that today's students must confront. This paper presents rationale and details for a modernized study of plan composition that accommodates a broader range of programming languages and problem features. Our study design has two novelties: the problems require students to deal with data-processing challenges (such as noisy data), and the questions ask students to not only produce but also evaluate programs. We present preliminary results from using our study in multiple courses from different linguistic paradigms. We discuss several future studies that are prompted by these results. Kathi Fisler, Shriram Krishnamurthi, Janet Siegmund |
SIGCSE | 3 |
| 2016 | Efficiency of projectional editing: a controlled experimentabstractProjectional editors are editors where a user's editing actions directly change the abstract syntax tree without using a parser. They promise essentially unrestricted language com position as well as flexible notations, which supports aligning languages with their respective domain and constitutes an essential ingredient of model-driven development. Such editors have existed since the 1980s and gained widespread attention with the Intentional Programming paradigm, which used projectional editing at its core. However, despite the benefits, programming still mainly relies on editing textual code, where projectional editors imply a very different -- typically perceived as worse -- editing experience, often seen as the main challenge prohibiting their widespread adoption. We present an experiment of code-editing activities in a projectional editor, conducted with 19 graduate computer-science students and industrial developers. We investigate the effects of projectional editing on editing efficiency, editing strategies, and error rates -- each of which we also compare to conventional, parser-based editing. We observe that editing is efficient for basic-editing tasks, but that editing strategies and typical errors differ. More complex tasks require substantial experience and a better understanding of the abstract-syntax-tree structure -- then, projectional editing is also efficient. We also witness a tradeoff between fewer typing mistakes and an increased complexity of code editing. Thorsten Berger, Markus Völter, Hans Peter Jensen, Taweesap Dangprasert, Janet Siegmund |
SIGSOFT FSE | 5 |
| 2016 | Product-line maintenance with emergent contract interfacesabstractA software product line evolves whenever one of its products need to evolve. Maintenance of preprocessor-based product lines is a difficult task, as changes to the code base may unintentionally influence the behavior of uninvolved products. Hence, developers should be supported during maintenance. We present emergent contract interfaces to make product-line development more efficient and less error-prone. The key idea is that for a given maintenance point (i.e., an assignment), we calculate (a) features in the source code that may be affected and (b) assertions based on contracts defined in the code base. By means of a controlled experiment, we provide empirical evidence regarding efficiency and error-avoidance with emergent contract interfaces. Thomas Thüm, Márcio Ribeiro 0001, Reimar Schröter, Janet Siegmund, Francisco Dalton |
SPLC | 4 |
| 2016 | Preprocessor-based variability in open-source and industrial software systems: An empirical study
Claus Hunsen, Bo Zhang 0014, Janet Siegmund, Christian Kästner, Olaf Leßenich, Martin Becker 0002, Sven Apel |
Empir. Softw. Eng. | 3 |
| 2015 | From Developer Networks to Verified Communities: A Fine-Grained ApproachabstractEffective software engineering demands a coordinated effort. Unfortunately, a comprehensive view on developer coordination is rarely available to support software-engineering decisions, despite the significant implications on software quality, software architecture, and developer productivity. We present a fine-grained, verifiable, and fully automated approach to capture a view on developer coordination, based on commit information and source-code structure, mined from version-control systems. We apply methodology from network analysis and machine learning to identify developer communities automatically. Compared to previous work, our approach is fine-grained, and identifies statistically significant communities using order-statistics and a community-verification technique based on graph conductance. To demonstrate the scalability and generality of our approach, we analyze ten open-source projects with complex and active histories, written in various programming languages. By surveying 53 open-source developers from the ten projects, we validate the authenticity of inferred community structure with respect to reality. Our results indicate that developers of open-source projects form statistically significant community structures and this particular view on collaboration largely coincides with developers' perceptions of real-world collaboration. Mitchell Joblin, Wolfgang Mauerer, Sven Apel, Janet Siegmund, Dirk Riehle |
ICSE (1) | 4 |
| 2015 | Views on Internal and External Validity in Empirical Software EngineeringabstractEmpirical methods have grown common in software engineering, but there is no consensus on how to apply them properly. Is practical relevance key? Do internally valid studies have any value? Should we replicate more to address the tradeoff between internal and external validity? We asked the community how empirical research should take place in software engineering, with a focus on the tradeoff between internal and external validity and replication, complemented with a literature review about the status of empirical research in software engineering. We found that the opinions differ considerably, and that there is no consensus in the community when to focus on internal or external validity and how to conduct and review replications. Janet Siegmund, Norbert Siegmund, Sven Apel |
ICSE (1) | 1 |
| 2015 | Confounding parameters on program comprehension: a literature survey
Janet Siegmund, Jana Schumann |
Empir. Softw. Eng. | 1 |
| 2014 | Understanding understanding source code with functional magnetic resonance imagingabstractProgram comprehension is an important cognitive process that inherently eludes direct measurement. Thus, researchers are struggling with providing suitable programming languages, tools, or coding conventions to support developers in their everyday work. In this paper, we explore whether functional magnetic resonance imaging (fMRI), which is well established in cognitive neuroscience, is feasible to soundly measure program comprehension. In a controlled experiment, we observed 17 participants inside an fMRI scanner while they were comprehending short source-code snippets, which we contrasted with locating syntax errors. We found a clear, distinct activation pattern of five brain regions, which are related to working memory, attention, and language processing---all processes that fit well to our understanding of program comprehension. Our results encourage us and, hopefully, other researchers to use fMRI in future studies to measure program comprehension and, in the long run, answer questions, such as: Can we predict whether someone will be an excellent programmer? How effective are new languages and tools for program understanding? How should we train programmers? Janet Siegmund, Christian Kästner, Sven Apel, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, André Brechmann |
ICSE | 1 |
| 2014 | Towards User-Friendly Projectional Editors
Markus Völter, Janet Siegmund, Thorsten Berger, Bernd Kolb |
SLE | 2 |
| 2014 | Measuring and modeling programming experience
Janet Siegmund, Christian Kästner, Jörg Liebig, Sven Apel, Stefan Hanenberg |
Empir. Softw. Eng. | 1 |
| 2013 | Does the discipline of preprocessor annotations matter?: a controlled experimentabstractThe C preprocessor (CPP) is a simple and language-independent tool, widely used to implement variable software systems using conditional compilation (i.e., by including or excluding annotated code). Although CPP provides powerful means to express variability, it has been criticized for allowing arbitrary annotations that break the underlying structure of the source code. We distinguish between disciplined annotations, which align with the structure of the source code, and undisciplined annotations, which do not. Several studies suggest that especially the latter type of annotations makes it hard to (automatically) analyze the code. However, little is known about whether the type of annotations has an effect on program comprehension. We address this issue by means of a controlled experiment with human subjects. We designed similar tasks for both, disciplined and undisciplined annotations, to measure program comprehension. Then, we measured the performance of the subjects regarding correctness and response time for solving the tasks. Our results suggest that there are no differences between disciplined and undisciplined annotations from a program-comprehension perspective. Nevertheless, we observed that finding and correcting errors is a time-consuming and tedious task in the presence of preprocessor annotations. Sandro Schulze, Jörg Liebig, Janet Siegmund, Sven Apel |
GPCE | 3 |
| 2013 | Dark Knowledge and Graph Grammars in Automated Software Design
Don S. Batory, Rui C. Gonçalves, Bryan Marker, Janet Siegmund |
SLE | 4 |
| 2013 | Do background colors improve program comprehension in the #ifdef hell?
Janet Siegmund, Christian Kästner, Sven Apel, Jörg Liebig, Michael Schulze, Raimund Dachselt, Maria Papendieck, Thomas Leich, Gunter Saake |
Empir. Softw. Eng. | 1 |
| 2012 | Is the derivation of a model easier to understand than the model itself?abstractSoftware architectures can be presented by graphs with components as nodes and connectors as edges. These graphs, or models, typically encode expert domain knowledge, which makes them difficult to understand. Hence, instead of presenting a complete complex model, we can derive it from a simple, easy-to-understand model by a set of easy-to-understand transformations. In two controlled experiments, we evaluate whether a derivation of a model is easier to understand than the model itself. Janet Siegmund, Don S. Batory, Taylor L. Riché |
ICPC | 1 |
| 2012 | Measuring programming experienceabstractProgramming experience is an important confounding parameter in controlled experiments regarding program comprehension. In literature, ways to measure or control programming experience vary. Often, researchers neglect it or do not specify how they controlled it. We set out to find a well-defined understanding of programming experience and a way to measure it. From published comprehension experiments, we extracted questions that assess programming experience. In a controlled experiment, we compare the answers of 128 students to these questions with their performance in solving program-comprehension tasks. We found that self estimation seems to be a reliable way to measure programming experience. Furthermore, we applied exploratory factor analysis to extract a model of programming experience. With our analysis, we initiate a path toward measuring programming experience with a valid and reliable tool, so that we can control its influence on program comprehension. Janet Siegmund, Christian Kästner, Jörg Liebig, Sven Apel, Stefan Hanenberg |
ICPC | 1 |
| 2012 | Supporting comprehension experiments with human subjectsabstractExperiments with human subjects become more and more important in software engineering. To support planning, conducting, and replicating experiments targeting program comprehension, we developed PROPHET. It allows experimenters to easily define and customize experimental settings as well as to export settings such that others can replicate their results. Furthermore, PROPHET provides extension points, which allow users to integrate additional functionality. Janet Siegmund, Norbert Siegmund |
ICPC | 1 |
| 2012 | Toward measuring program comprehension with functional magnetic resonance imagingabstractProgram comprehension is an often evaluated, internal cognitive process. In neuroscience, functional magnetic resonance imaging (fMRI) is used to visualize such internal cognitive processes. We propose an experimental design to measure program comprehension based on fMRI. In the long run, we hope to answer questions like What distinguishes good programmers from bad programmers? or What makes a good programmer? Janet Siegmund, André Brechmann, Sven Apel, Christian Kästner, Jörg Liebig, Thomas Leich, Gunter Saake |
SIGSOFT FSE | 1 |
| 2011 | Using background colors to support program comprehension in software product linesabstractBackground: Software product line engineering provides an effective mechanism to implement variable software.However, the usage of preprocessors, which is typical in industry, is heavily criticized, because it often leads to obfuscated code.Using background colors to support comprehensibility has shown effective, however, scalability to large software product lines (SPLs) is questionable.Aim: Our goal is to implement and evaluate scalable usage of background colors for industrial-sized SPLs.Method: We designed and implemented scalable concepts in a tool called FeatureCommander.To evaluate its effectiveness, we conducted a controlled experiment with a large real-world SPL with over 160,000 lines of code and 340 features.We used a within-subjects design with treatments colors and no colors.We compared correctness and response time of tasks for both treatments.Results: For certain kinds of tasks, background colors improve program comprehension.Furthermore, subjects generally favor background colors.Conclusion: We show that background colors can improve program comprehension in large SPLs.Based on these encouraging results, we will continue our work improving program comprehension in large SPLs.Difficulty U value 20.5 24.5 17.5 18 10. Janet Siegmund, Michael Schulze, Maria Papendieck, Christian Kästner, Raimund Dachselt, Veit Köppen, Mathias Frisch |
EASE | 1 |
| 2011 | Exploring Software Measures to Assess Program ComprehensionabstractSoftware measures are often used to assess program comprehension, although their applicability is discussed controversially. Often, their application is based on plausibility arguments, which, however, is not sufficient to decide whether software measures are good predictors for program comprehension. Our goal is to evaluate whether and how software measures and program comprehension correlate. To this end, we carefully designed an experiment. We used four different measures that are often used to judge the quality of source code: complexity, lines of code, concern attributes, and concern operations. We measured how subjects understood two comparable software systems that differ in their implementation, such that one implementation promised considerable benefits in terms of better software measures. We did not observe a difference in program comprehension of our subjects as the software measures suggested it. To explore how software measures and program comprehension could correlate, we used several variants of computing the software measures. This brought them closer to our observed result, however, not as close as to confirm a relationship between software measures and program comprehension. Having failed to establish a relationship, we present our findings as an open issue to the community and initiate a discussion on the role of software measures as comprehensibility predictors. Janet Siegmund, Sven Apel, Jörg Liebig, Christian Kästner |
ESEM | 1 |
| 2011 | View infinity: a zoomable interface for feature-oriented software developmentabstractSoftware product line engineering provides efficient means to develop variable software. To support program comprehension of software product lines (SPLs), we developed View Infinity, a tool that provides seamless and semantic zooming of different abstraction layers of an SPL. First results of a qualitative study with experienced SPL developers are promising and indicate that View Infinity is useful and intuitive to use. Michael Stengel, Mathias Frisch, Sven Apel, Janet Siegmund, Christian Kästner, Raimund Dachselt |
ICSE | 4 |
| 2011 | Analyzing the Effect of Preprocessor Annotations on Code ClonesabstractThe C preprocessor cpp is a powerful and language-independent tool, widely used to implement variable software in different programming languages (C, C++) using conditional compilation. Preprocessor annotations can used on different levels of granularity such as functions or statements. In this paper, we investigate whether there is a relation between code clones and preprocessor annotations. Specifically, we address the question whether the discipline of annotation has an effect on code clones. To this end, we perform a case study on fifteen different C programs and analyze them regarding code clones and #ifdef occurrences. We found only minor effects of annotations on code clones, but a relationship between annotations that align with the code structure (and code clones). With this work, we provide new insights why code clones occur in C programs. Furthermore, the results can support the decision whether or not it is beneficial to remove clones. Sandro Schulze, Elmar Jürgens, Janet Siegmund |
SCAM | 3 |
| 2010 | Visual Support for Understanding Product LinesabstractThe C preprocessor is often used in practice to implement variability in software product lines. Using #ifdef statements provokes problems such as obfuscated source code, yet they will still be used in practice at least in the medium-term future. With CIDE, we demonstrate a tool to improve understanding and maintaining code that contains #ifdef statements by visualizing them with colors and providing different views on the code. Janet Siegmund, Christian Kästner, Mathias Frisch, Raimund Dachselt, Sven Apel |
ICPC | 1 |
| 2009 | FeatureIDE: A tool framework for feature-oriented software developmentabstractTools support is crucial for the acceptance of a new programming language. However, providing such tool support is a huge investment that can usually not be provided for a research language. With FeatureIDE, we have built an IDE for AHEAD that integrates all phases of feature-oriented software development. To reuse this investment for other tools and languages, we refactored FeatureIDE into an open source framework that encapsulates the common ideas of feature-oriented software development and that can be reused and extended beyond AHEAD. Among others, we implemented extensions for FeatureC++ and FeatureHouse, but in general, FeatureIDE is open for everybody to showcase new research results and make them usable to a wide audience of students, researchers, and practitioners. Christian Kästner, Thomas Thüm, Gunter Saake, Janet Siegmund, Thomas Leich, Fabian Wielgorz, Sven Apel |
ICSE | 4 |