Thomas Fritz 0001

dblp:67/6766-1 · DBLP profile ↗
← Back
60ranked-venue papers
11as first author
24since 2021 · last 2026
0000-0002-1834-6240ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 35 · 7 first-author · 11 since 2021Human-computer interaction and ubiquitous computing · 22 · 3 first-author · 12 since 2021Systems, architecture and hardware · 1 · 1 first-authorComputer networks · 1Databases, data management, data science and information retrieval · 1Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021
YearPublicationVenuePosition
2026 From Tabs to Structures: Understanding and Supporting Web Page Management
abstract
Knowledge workers spend significant time finding, understanding, and relating information from different web pages. This process often leads to cluttered workspaces requiring active management of web pages, their evolving relevance, and relationships. Existing approaches, such as bookmarking systems, are often too rigid and impose considerable cognitive effort to create and maintain. In this work, we identify key design concepts to capture and retrieve the emerging and dynamic structures of web pages. In a field experiment with 29 knowledge workers (primarily students and IT professionals), we investigated current web management practices over time before we deployed our technology probe (Gstell) to explore initial behavioral adaptation to our design concepts in practice. Our analysis showed that many participants frequently struggle with excessive but inactive browser tabs and that the design concepts can alleviate the overload and improve focus. We discuss design considerations for more sustainable web page management.
Roy Rutishauser, Thomas Fritz 0001
CHI2
2026 TimeMarbles: A More Holistic Approach to Self-Reflecting on Focus in the Knowledge Workplace
abstract
Digital tools promoting individual focus are increasingly popular in knowledge work. Yet their narrow framing of attention as a binary of focus versus non-focus can be unsustainable and discourage engagement in other vital activities, such as team coordination and collaboration. We introduce TimeMarbles, a web app that encourages more holistic self-reflection by tracking three modes of focus: high-focus, normal-focus, and break, as well as a team vs. individual dimension. In a two-week comparative structured observation in the field with 24 knowledge workers across six countries, we explored how users experience TimeMarbles vs. a more traditional focus-centric web app. Our thematic analysis shows that participants felt more positive about their day when tracking their time in TimeMarbles and that, despite the added logging effort, they preferred the more granular approach because it better represented the range of different attention and activities that characterize their workday. Our work points toward re-imagining digital workplace time-tracking tools to better support worker wellbeing.
Anastasia Ruvimova, Joanna McGrenere, Thomas Fritz 0001
CHI3
2026 Grasping AI Reliance in Program Comprehension and Coding through the AIRELI Persona Taxonomy
Tarek Alakmeh, Norman Anderson, Victoria Jackson, Guilherme Vaz Pereira, Umit Akirmak, Anthony Estey, Rafael Prikladnicki, André van der Hoek, Margaret-Anne D. Storey, Thomas Fritz 0001
ICPC10
2026 Towards ecological validity when assessing ADHD symptoms: Patterns in automatically collected, real-world PC activity data
abstract
Neuropsychological tests assessing attention and executive function (EF) in individuals with ADHD demonstrate little to no association with real-world ratings of ADHD behaviors. To address this critical gap, this study developed metrics that can analyze automatically collected data to measure levels of attention, motivation, and effort in emerging adults with ADHD. Specifically, we used virtual reality to simulate a study space and collect in-the-moment computer data activity while university students with ADHD (N = 21; 38% female) engaged in 12 sessions (total 180 hours) of real-world tasks. To identify common sequences we performed a qualitative analysis of this work session data (i.e., descriptive window titles, input levels, and window switches), resulting in four themes representing positive and negative work activity patterns. From these themes we derived four metrics, and a quantitative analyses showed that two predicted behavioral indices of attention, effort, and motivation with effects in the moderate range. To our knowledge, we are the first group to design and test such an approach, as well as validate identified computer metrics to behavioral indices of attention and EF. Given the automated nature of computer data collection and analysis, this approach represents a scalable, novel method for ADHD assessment and treatment.
Matheus B. da Costa, Elizabeth Chan, Joshua M. Langberg, Isabelle Cuber, Fatemeh Jamalinabijan, Aleksander Kurgan, Thomas Fritz 0001, David C. Shepherd
Int. J. Hum. Comput. Stud.7
2026 From Disruptions to Discussions: How GenAI Impacts Human Interactions in Software Development
abstract
New technologies often change how an individual performs work, such as how generative AI (GenAI) can help a developer write code. New technologies can also impact how people interact with one another, such as how GenAI’s ability to summarize API documentation can reduce the need for developers to ask each other technical questions. In this paper, we report on a two-phase mixed-method study exploring how GenAI influences how humans interact in software development. During phase one, 30 industrial software developers provided data over a period of 5 to 12 days as they worked, contributing 627 experience sampling responses and 207 end-of-workday survey responses. To gain further insight into their work, we interviewed 22 of these developers. During phase two, 131 additional professional developers responded to a survey to explore whether and how the results from phase one are seen across a larger population. Our analysis of the data found that (1) the ability of GenAI to help answer low-level technical questions in a timely way enables developers to see GenAI as a technical mentor, providing opportunities for developers to turn to tools rather than teammates; (2) developers perceive that GenAI can help them experience more focus and experience fewer flow disruptions; (3) GenAI can help developers pursue more meaningful conversations with their colleagues by shifting human interaction towards clarification, joint reasoning, and exploring alternative perspectives; and (4) in the presence of GenAI, developers report still seeking human-to-human interaction for contextual expertise, mentorship, and social connection. Together, these findings showwhat changes,when it changes, andwhat teams can do nextin response to this shift in team interaction dynamics, where GenAI increasingly handles routine technical queries and human conversations center on context, reasoning, and connection. Teams can adopt norms for delegating questions, sustain human judgment in complex decisions, and create space for expertise, mentorship, and connection, alongside increasing technical self-sufficiency.
Marie Salomon, Ekaterina Koshchenko, Agnia Sergeyuk, Reid Holmes, Gail C. Murphy, Thomas Fritz 0001
IEEE Trans. Software Eng.6
2026 TaskSnap: One Task at a Time With Snapshots
abstract
Software developers frequently switch tasks in their daily work, each involving different artifacts such as code files, websites, and documents. These artifacts accumulate across tasks, cluttering the workspace, and making it cognitively demanding to identify relevant ones during resumption. Existing solutions group artifacts, but do not effectively reduce workspace clutter for better task resumption and often overlook development specific artifacts. This paper introduces TaskSnap, a novel approach that supports the semi-automated creation of snapshots to group task-relevant artifacts. These snapshots are automatically closed at task boundaries to reduce clutter and restored when resuming a previously interrupted task to reconstruct the working context. We evaluated TaskSnap in a controlled lab experiment with 55 software developers who worked on two development tasks and one information-seeking task, switching between them after interruptions or upon completion. Results showed that TaskSnap improved task resumption by significantly reducing edit lags (time to first code edit). Separating task contexts into snapshots reduced perceived cognitive load and fostered focus on the current task by reducing clutter and access to task-unrelated artifacts. We discuss the benefits of leveraging task snapshots for task switching and artifact management, and explore design opportunities for balancing automation and user control in real-world adoption.
Juliana Gonçalves de Souza, Remy Egloff, Thomas Fritz 0001, André N. Meyer
IEEE Trans. Software Eng.3
2025 'Stick to' Three: Fostering Awareness, Intentions, and Reflections on the Top Daily Tasks
abstract
Knowledge workers face increasing challenges in managing numerous digital tasks, often leading to long task lists that distract from completing the most important ones.We present AIRbar, a task management tool designed to enhance Awareness, I ntention, and Retrospection (AIR) in daily task management.AIRbar prompts workers to prioritize a maximum of three daily tasks, displays them in an always-on glanceable widget, and facilitates end-of-day reflection to improve task completion and self-awareness.In a 4-week field study with 35 participants, we found that AIRbar increased task completion rates, improved focus and motivation, and positively influenced perceptions of work processes.These findings suggest that limiting the number of tasks and ensuring continuous visibility of priorities can address key challenges in modern task management, providing actionable insights for designing future task management systems.
André N. Meyer, Nimra Ahmed, Isabelle Cuber, Sebastian Richner, Elaine M. Huang, Gail C. Murphy, Thomas Fritz 0001
Conference on Designing Interactive Systems7
2025 Beyond the Watercooler: Designing for Computer-Mediated Self-Disclosure among Work Colleagues
Kevin Chow, Joanna McGrenere, Thomas Fritz 0001, Lucas L. Puente, Michael Massimi
CHI3
2025 Exploring a Real-time Feedback Display of Non-verbal Cues in Online Work Meetings to Support Self-Presentation
abstract
Expressing oneself appropriately in online meetings through non-verbal cues can be challenging for knowledge workers. Automatic non-verbal cue detection technologies have the potential to support workers' self-presentation efforts through real-time feedback, but little is known about workers' reactions to and the implications of doing so. We designed and implemented Novecs as a technology probe of a real-time feedback display that automatically detects and signals users' own non-verbal cues -- smiling, nodding, gaze, and posture. Novecs was deployed in an exploratory field study (n=18) to support knowledge workers' self-presentation in their everyday meetings. Post-study interviews reveal how Novecs' real-time feedback helped increase in-the-moment self-awareness, and how neutrally-framed feedback may help navigate tensions between authentic and in-authentic self-presentation. Participants also emphasized the need for natural timing when adjusting non-verbal cues in-meeting. We discuss design opportunities and challenges of real-time, non-verbal cue feedback systems, such as personalizing feedback based on different meeting types.
Kevin Chow, Roy Rutishauser, André N. Meyer, Joanna McGrenere, Thomas Fritz 0001
Proc. ACM Hum. Comput. Interact.5
2025 Better Balancing Focused Work and Collaboration in Hybrid Teams by Cultivating the Sharing of Work Schedules
abstract
In the context of hybrid knowledge work, striking a balance between individual focused work and team collaboration remains challenging. Existing approaches often fail to provide comprehensive and accurate presence awareness , as the necessary information is scattered across multiple applications and is frequently outdated, inaccurate or unavailable. To address this challenge, we introduce FlowTeams , a technology probe designed to (a) unify and combine presence information in one place, (b) cultivate the scheduling of workdays around focused work and collaboration, and (c) provide visibility of the information through both physical and digital presence awareness displays. In a field experiment, we deployed FlowTeams with 48 professionals across 10 hybrid working teams over an average of 6 weeks. The analysis of the collected data shows that the approach increased participants' awareness of their co-workers' availability, work hours and locations, and allowed them to better align their work schedules to their team's, while also structuring their workdays according to individual preferences. Furthermore, the results reveal that FlowTeams successfully mediated intrusive interruptions, enabling participants to significantly enhance their focus when necessary, while maintaining effective, yet less taxing, teamwork. Our work underscores the potential for supporting hybrid knowledge workers in negotiating a better balance between focused work and teamwork.
André N. Meyer, Thomas Fritz 0001
Proc. ACM Hum. Comput. Interact.2
2025 Remote Workplace Interactions and Extraversion: A Field Study on Wellbeing and Productivity Among Knowledge Workers
abstract
Since the COVID-19 Pandemic, the knowledge workplace has seen a dramatic transition from collocated-first to hybrid or fully-remote arrangements, the implications of which are yet to be fully understood. One of the biggest unknowns is how remote team communication impacts the individual worker, especially in consideration of personality type. The aim of this study is to investigate the effects of remote workplace interactions on productivity and wellbeing, and how these effects are moderated by extraversion. The study lasted for 2-3 months and involved 60 knowledge workers. The data was analyzed using a combination of quantitative and qualitative methods. We present novel findings on how remote communication affects individuals differently depending on the type of interaction, interaction agent, and personality of the individual, showing that the impact of communication on workers is far from straightforward. We contextualize these findings with an in-depth analysis of communication patterns and experiences in the remote workplace, adding to existing literature. Finally, we present suggestions for a more individualized communication approach in industry and future research.
Anastasia Ruvimova, Alexander Lill, Lauren C. Howe, Elaine M. Huang, Gail C. Murphy, Thomas Fritz 0001
Proc. ACM Hum. Comput. Interact.6
2024 Examining the Use of VR as a Study Aid for University Students with ADHD
abstract
Attention-deficit/hyperactivity disorder (ADHD) is a neurodevelopmental condition characterized by patterns of inattention and impulsivity, which lead to difficulties maintaining concentration and motivation while completing academic tasks. University settings, characterized by a high student-to-staff ratio, make treatments relying on human monitoring challenging. One potential replacement is Virtual Reality (VR) technology, which has shown potential to enhance learning outcomes and promote flow experience. In this study, we investigate the usage of VR with 27 university students with ADHD in an effort to improve their performance in ctableompleting homework, including an exploration of automated feedback via a technology probe. Quantitative results show significant increases in concentration, motivation, and effort levels during these VR sessions and qualitative data offers insight into considerations like comfort and deployment. Together, the results suggest that VR can be a valuable tool in leveling the playing field for university students with ADHD.
Isabelle Cuber, Juliana Gonçalves de Souza, Irene Jacobs, Caroline Lowman, David C. Shepherd, Thomas Fritz 0001, Joshua M. Langberg
CHI6
2024 Supporting Web-Based API Searches in the IDE Using Signatures
abstract
Developers frequently use the web to locate API examples that help them solve their programming tasks. While sites like Stack Overflow (SO) contain API examples embedded within their textual descriptions, developers cannot access this API knowledge directly. Instead they need to search for and browse results to select relevant SO posts and then read through individual posts to figure out which answers contain information about the APIs that are relevant to their task. This paper introduces an approach, called Scout, that automatically analyzes search results to extract API signature information. These signatures are used to group and rank examples and allow for a unique API-based presentation that reduces the amount of information the developer needs to consider when looking for API information on the web. This succinct representation enables Scout to be integrated fully within an IDE panel so that developers can search and view API examples without losing context on their development task. Scout also uses this integration to automatically augment queries with contextual information that tailors the developer's queries, and ranks the results according to the developer's needs. In an experiment with 40 developers, we found that Scout reduces the number of queries developers need to perform by 19% and allows them to solve almost half their tasks directly from the API-based representation, reducing the number of complete SO posts viewed by approximately 64%.
Nick C. Bradley, Thomas Fritz 0001, Reid Holmes
ICSE2
2024 On the Helpfulness of Answering Developer Questions on Discord with Similar Conversations and Posts from the Past
abstract
A big part of software developers' time is spent finding answers to their coding-task-related questions. To answer their questions, developers usually perform web searches, ask questions on Q&A websites, or, more recently, in chat communities. Yet, many of these questions have frequently already been answered in previous chat conversations or other online communities. Automatically identifying and then suggesting these previous answers to the askers could, thus, save time and effort. In an empirical analysis, we first explored the frequency of repeating questions on the Discord chat platform and assessed our approach to identify them automatically. The approach was then evaluated with real-world developers in a field experiment, through which we received 142 ratings on the helpfulness of the suggestions we provided to help answer 277 questions that developers posted in four Discord communities. We further collected qualitative feedback through 53 surveys and 10 follow-up interviews. We found that the suggestions were considered helpful in 40% of the cases, that suggesting Stack Overflow posts is more often considered helpful than past Discord conversations, and that developers have difficulties describing their problems as search queries and, thus, prefer describing them as natural language questions in online communities.
Alexander Lill, André N. Meyer, Thomas Fritz 0001
ICSE3
2024 Generative AI in Software Engineering Must Be Human-Centered: The Copenhagen Manifesto
Daniel Russo 0002, Sebastian Baltes, Niels van Berkel, Paris Avgeriou, Fabio Calefato, Beatriz Cabrero-Daniel, Gemma Catolino, Jürgen Cito, Neil A. Ernst, Thomas Fritz 0001, Hideaki Hata, Reid Holmes, Maliheh Izadi, Foutse Khomh, Mikkel Baun Kjærgaard, Grischa Liebel, Alberto Lluch-Lafuente, Stefano Lambiase, Walid Maalej, Gail C. Murphy, Nils Brede Moe, Gabrielle O'Brien, Elda Paja, Mauro Pezzè, John Stouby Persson, Rafael Prikladnicki, Paul Ralph, Martin P. Robillard, Thiago Rocha Silva, Klaas-Jan Stol, Margaret-Anne D. Storey, Viktoria Stray, Paolo Tell, Christoph Treude, Bogdan Vasilescu
J. Syst. Softw.10
2024 Feeling Stressed and Unproductive? A Field Evaluation of a Therapy-Inspired Digital Intervention for Knowledge Workers
abstract
Today’s knowledge workers face cognitively demanding tasks and blurred work-life boundaries amidst rising stress and burnout in the workplace. Holistic approaches to supporting workers, which consider both productivity and well-being, are increasingly important. Taking this holistic approach, we designed an intervention inspired by cognitive behavioral therapy that consists of: (1) using the term “Time Well Spent” (TWS) in place of “productivity”, (2) a mobile self-logging tool for logging activities, feelings, and thoughts at work, and (3) a visualization that guides users to reflect on their data. We ran a 4-week exploratory qualitative comparison in the field with 24 graduate students to examine ourTherapy-inspiredintervention alongside a classicBaselineintervention. Participants who used our intervention often shifted toward a holistic perspective of their primary working hours, which included an increased consideration of breaks and emotions. No such change was seen by those who used theBaselineintervention.
Kevin Chow, Thomas Fritz 0001, Liisa Holsti, Skye Barbic, Joanna McGrenere
ACM Trans. Comput. Hum. Interact.2
2023 Semi-Automatic, Inline and Collaborative Web Page Code Curations
abstract
Software developers spend about a quarter of their workday using the web to fulfill various information needs. Searching for relevant information online can be time-consuming, yet acquired information is rarely systematically persisted for later reference. In this work, we introduce SALI, an approach for semi-automated inline linking of web pages to source code locations. SALI helps developers naturally capture high-quality, explicit links between web pages and specific source code lo-cations by recommending links for curation within the IDE. Through two laboratory studies, we examined the developer's ability to both curate and consume links between web pages and specific source code locations while performing software development tasks. The studies were performed with 20 subjects working on realistic software change tasks from widely-used open-source projects. Results show that developers continuously and concisely curate web pages at meaningful locations in the code with little effort. Additionally, we found that other developers could use these curations while performing new and different change tasks to speed up relevant information gathering within unfamiliar codebases by a factor of 2.4.
Roy Rutishauser, André A. Meyer, Reid Holmes, Thomas Fritz 0001
ICSE4
2023 Ready Worker One? High-Res VR for the Home Office
abstract
Many employees prefer to work from home, yet struggle to squeeze their office into an already fully-utilized space. Virtual Reality (VR) seemingly offered a solution with its ability to transform even modest physical spaces into spacious, productive virtual offices, but hardware challenges—such as low resolution—have prevented this from becoming a reality. Now that hardware issues are being overcome, we are able to investigate the suitability of VR for daily work. To do so, we (1) studied the physical space that users typically dedicate to home offices and (2) conducted an exploratory study of users working in VR for one week. For (1) we used digital ethnography to study 430 self-published images of software developer workstations in the home, confirming that developers faced myriad space challenges. We used speculative design to re-envision these as VR workstations, eliminating many challenges. For (2) we asked 10 developers to work in their own home using VR for about two hours each day for four workdays, and then interviewed them. We found that working in VR improved focus and made mundane tasks more enjoyable. While some subjects reported issues—annoyances with the fit, weight, and umbilical cord of the headset—the vast majority of these issues seem to be addressable. Together, these studies show VR technology has the potential to address many key problems with home workstations, and, with continued improvements, may become an integral part of creating an effective workstation in the home.
Anastasia Ruvimova, Felipe Fronchetti, Boden A Kahn, Luiz Henrique Susin, Zekeya Hurley, Thomas Fritz 0001, Mark S. Hancock, David C. Shepherd
VRST6
2023 Cultivating a Team Mindset about Productivity with a Nudge: A Field Study in Hybrid Development Teams
abstract
While there has been significant study of both individuals and teams of knowledge workers, research has focused largely on one or the other, with less focus on the interaction between the two. In this paper, we explore the tensions between the individual and their team, focusing on the choices an individual makes towards their own productivity versus their team's productivity. We developed a technology probe with a team nudge that fosters recurring reflection and prompts individuals to consider how their team helps them to be productive. We examined its impact through a longitudinal field study with 48 participants. We chose to undertake this study with software development teams as they are examples of knowledge workers who collaborate on a shared set of tasks with specific goals. Our exploration took place with hybrid development teams, which have increasingly become the norm. Our analysis of a total of 8338 hourly self-reports and 1389 daily diary entries found that the team nudge increased participants' productivity ratings and team awareness, led to participants spending more time on their own tasks, reshaped their perceptions of themselves and their team, yet, in general, did not increase team cohesion or affect well-being.
Thomas Fritz 0001, Alexander Lill, André N. Meyer, Gail C. Murphy, Lauren C. Howe
Proc. ACM Hum. Comput. Interact.1
2022 An Exploratory Study of Productivity Perceptions in Software Teams
abstract
Software development is a collaborative process requiring a careful balance of focused individual effort and team coordination. Though questions of individual productivity have been widely examined in past literature, less is known about the interplay between developers' perceptions of their own productivity as opposed to their team's. In this paper, we present an analysis of 624 daily surveys and 2899 self-reports from 25 individuals across five software teams in North America and Europe, collected over the course of three months. We found that developers tend to operate in fluid team constructs, which impacts team awareness and complicates gauging team productivity. We also found that perceived individual productivity most strongly predicted perceived team productivity, even more than the amount of team interactions, unplanned work, and time spent in meetings. Future research should explore how fluid team structures impact individual and organizational productivity.
Anastasia Ruvimova, Alexander Lill, Jan Gugler, Lauren C. Howe, Elaine Huang, Gail C. Murphy, Thomas Fritz 0001
ICSE7
2022 Sources of software development task friction
Nick C. Bradley, Thomas Fritz 0001, Reid Holmes
Empir. Softw. Eng.2
2022 Detecting Developers' Task Switches and Types
abstract
Developers work on a broad variety of tasks during their workdays and constantly switch between them. While these task switches can be beneficial, they can also incur a high cognitive burden on developers, since they have to continuously remember and rebuild the task context–the artifacts and applications relevant to the task. Researchers have therefore proposed to capture task context more explicitly and use it to provide better task support, such as task switch reduction or task resumption support. Yet, these approaches generally require the developer tomanuallyidentify task switches. Automatic approaches for predicting task switches have so far been limited in their accuracy, scope, evaluation, and the time discrepancy between predicted and actual task switches. In our work, we examine the use ofautomaticallycollected computer interaction data for detecting developers’ task switches as well as task types. In two field studies–a 4h observational study and a multi-day study with experience sampling–we collected data from a total of 25 professional developers. Our study results show that we are able to use temporal and semantic features from developers’ computer interaction data to detect task switches and types in the field with high accuracy of 84 percent and 61 percent respectively, and within a short time window of less than 1.6 minutes on average from the actual task switch. We discuss our findings and their practical value for a wide range of applications in real work settings.
André N. Meyer, Chris Satterfield, Manuela Züger, Katja Kevic, Gail C. Murphy, Thomas Zimmermann 0001, Thomas Fritz 0001
IEEE Trans. Software Eng.7
2021 Observing and predicting knowledge worker stress, focus and awakeness in the wild
Mauricio Soto, Chris Satterfield, Thomas Fritz 0001, Gail C. Murphy, David C. Shepherd, Nicholas A. Kraft
Int. J. Hum. Comput. Stud.3
2021 Enabling Good Work Habits in Software Developers through Reflective Goal-Setting
abstract
Software developers are generally interested in developing better habits to increase their workplace productivity and well-being, but have difficulties identifying concrete goals and actionable strategies to do so. In several areas of life, such as the physical activity and health domain, self-reflection has been shown to be successful at increasing people's awareness about a problematic behavior, motivating them to define a self-improvement goal, and fostering goal-achievement. We therefore designed a reflective goal-setting study to learn more about developers' goals and strategies to improve or maintain good habits at work. In our study, 52 professional software developers self-reflected about their work on a daily basis during two to three weeks, which resulted in a rich set of work habit goals and actionable strategies that developers pursue at work. We also found that purposeful, continuous self-reflection not only increases developers' awareness about productive and unproductive work habits (84.5 percent), but also leads to positive self-improvements that increase developer productivity and well-being (79.6 percent). We discuss how tools could support developers with a better trade-off between the cost and value of workplace self-reflection and increase long-term engagement.
André N. Meyer, Gail C. Murphy, Thomas Zimmermann 0001, Thomas Fritz 0001
IEEE Trans. Software Eng.4
2020 Is Your Time Well Spent? Reflecting on Knowledge Work More Holistically
abstract
The modern workplace is more demanding than ever before. Yet, since the industrial age, productivity measures have predominantly stayed narrowly focused on the output of the work, and not accounted for the big shift in the cognitive demands placed on the workers or the interleaving of work and life that is so common today. We posit that a more holistic conceptualization of Time Well Spent (TWS) at work could mitigate this issue. In our 1-week study, 40 knowledge workers used the experience sampling method (ESM) to rate their TWS and then define TWS at the end of the week. Our work contributes a preliminary characterization of TWS and empirical evidence that this term can capture a more holistic notion of work that also includes the worker's feelings and well-being.
Hayley Guillou, Kevin Chow, Thomas Fritz 0001, Joanna McGrenere
CHI3
2020 Supporting Software Developers' Focused Work on Window-Based Desktops
abstract
Software developers, like other information workers, continuously switch tasks and applications to complete their work on their computer. Given the high fragmentation and complexity of their work, staying focused on the relevant pieces of information can become quite challenging in today's window-based environments, especially with the ever increasing monitor screen-size. To support developers in staying focused, we conducted a formative study with 18 professionals in which we examined their computer based and eye-gaze interaction with the window environment and devised a relevance model of open windows. Based on the results, we developed a prototype to dim irrelevant windows and reduce distractions, and evaluated it in a user study. Our results indicate that our model was able to predict relevant open windows with high accuracy and participants felt that integrating visual prominence into the desktop environment reduces clutter and distraction, which results in reduced window switching and an increase in focus.
Jan Pilzer, Raphael Rosenast, André N. Meyer, Elaine M. Huang, Thomas Fritz 0001
CHI5
2020 "Transport Me Away": Fostering Flow in Open Offices through Virtual Reality
abstract
Open offices are cost-effective and continue to be popular. However, research shows that these environments, brimming with distractions and sensory overload, frequently hamper productivity. Our research investigates the use of virtual reality (VR) to mitigate distractions in an open office setting and improve one's ability to be in flow. In a lab study, 35 participants performed visual programming tasks in four combinations of physical (open or closed office) and virtual environments (beach or virtual office). While participants both preferred and were in flow more in a closed office without VR, in an open office, the VR environments outperformed the no VR condition in all measures of flow, performance, and preference. Especially considering the recent rapid advancements in VR, our findings illustrate the potential VR has to improve flow and satisfaction in open offices.
Anastasia Ruvimova, Junhyeok Kim 0001, Thomas Fritz 0001, Mark S. Hancock, David C. Shepherd
CHI3
2020 Identifying and Describing Information Seeking Tasks
abstract
A software developer works on many tasks per day, frequently switching between these tasks back and forth. This constant churn of tasks makes it difficult for a developer to know the specifics of when they worked on what task, complicating task resumption, planning, retrospection, and reporting activities. In a first step towards an automated aid to this issue, we introduce a new approach to help identify the topic of work during an information seeking task --- one of the most common types of tasks that software developers face --- that is based on capturing the contents of the developer's active window at regular intervals and creating a vector representation of key information the developer viewed. To evaluate our approach, we created a data set with multiple developers working on the same set of six information seeking tasks that we also make available for other researchers to investigate similar approaches. Our analysis shows that our approach enables: 1) segments of a developer's work to be automatically associated with a task from a known set of tasks with average accuracy of 70.6%, and 2) a word cloud describing a segment of work that a developer can use to recognize a task with average accuracy of 67.9%.
Chris Satterfield, Thomas Fritz 0001, Gail C. Murphy
ASE2
2018 Sensing Interruptibility in the Office: A Field Study on the Use of Biometric and Computer Interaction Sensors
abstract
Knowledge workers experience many interruptions during their work day. Especially when they happen at inopportune moments, interruptions can incur high costs, cause time loss and frustration. Knowing a person's interruptibility allows optimizing the timing of interruptions and minimize disruption. Recent advances in technology provide the opportunity to collect a wide variety of data on knowledge workers to predict interruptibility. While prior work predominantly examined interruptibility based on a single data type and in short lab studies, we conducted a two-week field study with 13 professional software developers to investigate a variety of computer interaction, heart-, sleep-, and physical activity-related data. Our analysis shows that computer interaction data is more accurate in predicting interruptibility at the computer than biometric data (74.8% vs. 68.3% accuracy), and that combining both yields the best results (75.7% accuracy). We discuss our findings and their practical applicability also in light of collected qualitative data.
Manuela Züger, Sebastian C. Müller, André N. Meyer, Thomas Fritz 0001
CHI4
2018 Context-aware conversational developer assistants
abstract
Building and maintaining modern software systems requires developers to perform a variety of tasks that span various tools and information sources. The crosscutting nature of these development tasks requires developers to maintain complex mental models and forces them (a) to manually split their high-level tasks into low-level commands that are supported by the various tools, and (b) to (re)establish their current context in each tool. In this paper we present Devy, a Conversational Developer Assistant (CDA) that enables developers to focus on their high-level development tasks. Devy reduces the number of manual, often complex, low-level commands that developers need to perform, freeing them to focus on their high-level tasks. Specifically, Devy infers high-level intent from developer's voice commands and combines this with an automatically-generated context model to determine appropriate workflows for invoking low-level tool actions; where needed, Devy can also prompt the developer for additional information. Through a mixed methods evaluation with 21 industrial developers, we found that Devy provided an intuitive interface that was able to support many development tasks while helping developers stay focused within their development environment. While industrial developers were largely supportive of the automation Devy enabled, they also provided insights into several other tasks and workflows CDAs could support to enable them to better focus on the important parts of their development tasks.
Nick C. Bradley, Thomas Fritz 0001, Reid Holmes
ICSE2
2018 Sensing and supporting software developers' focus
abstract
Software developers regularly have to focus in order to successfully perform their work. At the same time, developers experience many disruptions to their focus, especially in today's highly demanding, collaborative and open office work environments. When these disruptions happen during tasks that require a lot of focus, such as comprehending a difficult piece of source code, they can be very costly, causing a decrease in performance and quality. By sensing how focused a developer is, we might be able to reduce the cost of such disruptions.
Manuela Züger, Thomas Fritz 0001
ICPC2
2017 Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight
abstract
Due to the high number and cost of interruptions at work, several approaches have been suggested to reduce this cost for knowledge workers. These approaches predominantly focus either on a manual and physical indicator, such as headphones or a closed office door, or on the automatic measure of a worker's interruptibilty in combination with a computer-based indicator. Little is known about the combination of a physical indicator with an automatic interruptibility measure and its long-term impact in the workplace. In our research, we developed the FlowLight, that combines a physical traffic-light like LED with an automatic interruptibility measure based on computer interaction data. In a large-scale and long-term field study with 449 participants from 12 countries, we found, amongst other results, that the FlowLight reduced the interruptions of participants by 46%, increased their awareness on the potential disruptiveness of interruptions and most participants never stopped using it.
Manuela Züger, Christopher S. Corley, André N. Meyer, Boyang Li 0002, Thomas Fritz 0001, David C. Shepherd, Vinay Augustine, Patrick Francis, Nicholas A. Kraft, Will Snipes
CHI5
2017 Characterizing Software Developers by Perceptions of Productivity
abstract
Understanding developer productivity is important to deliver software on time and at reasonable cost. Yet, there are numerous definitions of productivity and, as previous research found, productivity means different things to different developers. In this paper, we analyze the variation in productivity perceptions based on an online survey with 413 professional software devel-opers at Microsoft. Through a cluster analysis, we identify and describe six groups of developers with similar perceptions of productivity: social, lone, focused, balanced, leading, and goal-oriented developers. We argue why personalized recommendations for improving software developers' work is important and discuss design implications of these clusters for tools to support developers' productivity.
André N. Meyer, Thomas Zimmermann 0001, Thomas Fritz 0001
ESEM3
2017 Towards Activity-Aware Tool Support for Change Tasks
abstract
To complete a change task, software developers perform a number of activities, such as locating and editing the relevant code. While there is a variety of approaches to support developers for change tasks, these approaches mainly focus on a single activity each. Given the wide variety of activities during a change task, a developer has to keep track of and switch between the different approaches. By knowing more about a developer's activities and in particular by knowing when she is working on which activity, we would be able to provide better and more tailored tool support, thereby reducing developer effort.In our research we investigate the characteristics of these activities, whether they can be identified, and whether we can use this additional information to improve developer support for change tasks. We conducted two exploratory studies with a total of 21 software developers collecting data on activities in the lab and field. An empirical analysis of the data shows, amongst other results, that activities comprise a consistently small amount of code elements across all developers and tasks (approx. 8.7 elements). Further analysis of the data shows, that we can automatically detect the boundaries and types of activities, and that the information on activity types can be used to improve the identification of relevant code elements.
Katja Kevic, Thomas Fritz 0001
ICSME2
2017 Eye gaze and interaction contexts for change tasks - Observations and potential
Katja Kevic, Braden Walters, Timothy Shaffer, Bonita Sharif, David C. Shepherd, Thomas Fritz 0001
J. Syst. Softw.6
2017 Retrospecting on Work and Productivity: A Study on Self-Monitoring Software Developers' Work
abstract
One way to improve the productivity of knowledge workers is to increase their self-awareness about productivity at work through self-monitoring. Yet, little is known about expectations of, the experience with, and the impact of self-monitoring in the workplace. To address this gap, we studied software developers, as one community of knowledge workers. We used an iterative, user-feedback-driven development approach (N=20) and a survey (N=413) to infer design elements for workplace self-monitoring, which we then implemented as a technology probe called WorkAnalytics. We field-tested these design elements during a three-week study with software development professionals (N=43). Based on the results of the field study, we present design recommendations for self-monitoring in the workplace, such as using experience sampling to increase the awareness about work and to create richer insights, the need for a large variety of different metrics to retrospect about work, and that actionable insights, enriched with benchmarking data from co-workers, are likely needed to foster productive behavior change and improve collaboration at work. Our work can serve as a starting point for researchers and practitioners to build self-monitoring tools for the workplace.
André N. Meyer, Gail C. Murphy, Thomas Zimmermann 0001, Thomas Fritz 0001
Proc. ACM Hum. Comput. Interact.4
2017 The Work Life of Developers: Activities, Switches and Perceived Productivity
abstract
Many software development organizations strive to enhance the productivity of their developers. All too often, efforts aimed at improving developer productivity are undertaken without knowledge about how developers spend their time at work and how it influences their own perception of productivity. To fill in this gap, we deployed a monitoring application at 20 computers of professional software developers from four companies for an average of 11 full work day in situ. Corroborating earlier findings, we found that developers spend their time on a wide variety of activities and switch regularly between them, resulting in highly fragmented work. Our findings extend beyond existing research in that we correlate developers' work habits with perceived productivity and also show productivity is a personal matter. Although productivity is personal, developers can be roughly grouped into morning, low-at-lunch and afternoon people. A stepwise linear regression per participant revealed that more user input is most often associated with a positive, and emails, planned meetings and work unrelated websites with a negative perception of productivity. We discuss opportunities of our findings, the potential to predict high and low productivity and suggest design approaches to create better tool support for planning developers' work day and improving their personal productivity.
André N. Meyer, Laura E. Barton, Gail C. Murphy, Thomas Zimmermann 0001, Thomas Fritz 0001
IEEE Trans. Software Eng.5
2016 Using (bio)metrics to predict code quality online
abstract
Finding and fixing code quality concerns, such as defects or poor understandability of code, decreases software development and evolution costs. A common industrial practice to identify code quality concerns early on are code reviews. While code reviews help to identify problems early on, they also impose costs on development and only take place after a code change is already completed. The goal of our research is to automatically identify code quality concerns while a developer is making a change to the code. By using biometrics, such as heart rate variability, we aim to determine the difficulty a developer experiences working on a part of the code as well as identify and help to fix code quality concerns before they are even committed to the repository.
Sebastian C. Müller, Thomas Fritz 0001
ICSE2
2015 Interruptibility of Software Developers and its Prediction Using Psycho-Physiological Sensors
abstract
Interruptions of knowledge workers are common and can cause a high cost if they happen at inopportune moments. With recent advances in psycho-physiological sensors and their link to cognitive and emotional states, we are interested whether such sensors might be used to measure interruptibility of a knowledge worker. In a lab and a field study with a total of twenty software developers, we examined the use of psycho-physiological sensors in a real-world context. The results show that a Naive Bayes classifier based on psycho-physiological features can be used to automatically assess states of a knowledge worker's interruptibility with high accuracy in the lab as well as in the field. Our results demonstrate the potential of these sensors to avoid expensive interruptions in a real-world context. Based on brief interviews, we further discuss the usage of such an interruptibility measure and interruption support for software developers.
Manuela Züger, Thomas Fritz 0001
CHI2
2015 A Field Study on Fostering Structural Navigation with Prodet
abstract
Past studies show that developers who navigate code in a structural manner complete tasks faster and more correctly than those whose behavior is more opportunistic. The goal of this work is to move professional developers towards more effective program comprehension and maintenance habits by providing an approach that fosters structural code navigation. To this end, we created a Visual Studio plugin called Prodet that integrates an always-on navigable visualization of the most contextually relevant portions of the call graph. We evaluated the effectiveness of our approach by deploying it in a six week field study with professional software developers. The study results show a statistically significant increase in developers' use of structural navigation after installing Prodet. The results also show that developers continuously used the filtered and navigable call graph over the three week period in which it was deployed in production. These results indicate the maturity and value of our approach to increase developers' effectiveness in a practical and professional environment.
Vinay Augustine, Patrick Francis, Xiao Qu, David C. Shepherd, Will Snipes, Christoph Bräunlich, Thomas Fritz 0001
ICSE (2)7
2015 Stuck and Frustrated or in Flow and Happy: Sensing Developers' Emotions and Progress
abstract
Software developers working on change tasks commonly experience a broad range of emotions, ranging from happiness all the way to frustration and anger. Research, primarily in psychology, has shown that for certain kinds of tasks, emotions correlate with progress and that biometric measures, such as electro-dermal activity and electroencephalography data, might be used to distinguish between emotions. In our research, we are building on this work and investigate developers' emotions, progress and the use of biometric measures to classify them in the context of software change tasks. We conducted a lab study with 17 participants working on two change tasks each. Participants were wearing three biometric sensors and had to periodically assess their emotions and progress. The results show that the wide range of emotions experienced by developers is correlated with their perceived progress on the change tasks. Our analysis also shows that we can build a classifier to distinguish between positive and negative emotions in 71.36% and between low and high progress in 67.70% of all cases. These results open up opportunities for improving a developer's productivity. For instance, one could use such a classifier for providing recommendations at opportune moments when a developer is stuck and making no progress.
Sebastian C. Müller, Thomas Fritz 0001
ICSE (1)2
2015 The making of cloud applications: an empirical study on software development for the cloud
abstract
Cloud computing is gaining more and more traction as a deployment and provisioning model for software. While a large body of research already covers how to optimally operate a cloud system, we still lack insights into how professional software engineers actually use clouds, and how the cloud impacts development practices. This paper reports on the first systematic study on how software developers build applications for the cloud. We conducted a mixed-method study, consisting of qualitative interviews of 25 professional developers and a quantitative survey with 294 responses. Our results show that adopting the cloud has a profound impact throughout the software development process, as well as on how developers utilize tools and data in their daily work. Among other things, we found that (1) developers need better means to anticipate runtime problems and rigorously define metrics for improved fault localization and (2) the cloud offers an abundance of operational data, however, developers still often rely on their experience and intuition rather than utilizing metrics. From our findings, we extracted a set of guidelines for cloud development and identified challenges for researchers and tool vendors.
Jürgen Cito, Philipp Leitner 0001, Thomas Fritz 0001, Harald C. Gall
ESEC/SIGSOFT FSE3
2015 Tracing software developers' eyes and interactions for change tasks
abstract
What are software developers doing during a change task? While an answer to this question opens countless opportunities to support developers in their work, only little is known about developers' detailed navigation behavior for realistic change tasks. Most empirical studies on developers performing change tasks are limited to very small code snippets or are limited by the granularity or the detail of the data collected for the study. In our research, we try to overcome these limitations by combining user interaction monitoring with very fine granular eye-tracking data that is automatically linked to the underlying source code entities in the IDE. In a study with 12 professional and 10 student developers working on three change tasks from an open source system, we used our approach to investigate the detailed navigation of developers for realistic change tasks. The results of our study show, amongst others, that the eye tracking data does indeed capture different aspects than user interaction data and that developers focus on only small parts of methods that are often related by data flow. We discuss our findings and their implications for better developer tool support.
Katja Kevic, Braden Walters, Timothy Shaffer, Bonita Sharif, David C. Shepherd, Thomas Fritz 0001
ESEC/SIGSOFT FSE6
2014 Persuasive technology in the real world: a study of long-term use of activity sensing devices for fitness
abstract
Persuasive technology to motivate healthy behavior is a growing area of research within HCI and ubiquitous computing. The emergence of commercial wearable devices for tracking health- and fitness-related activities arguably represents the first widespread adoption of dedicated ubiquitous persuasive technology. The recent ubiquity of commercial systems allows us to learn about their value and use in truly "in the wild" contexts and understand how practices evolve over long-term, naturalistic use. We present a study with 30 participants who had adopted wearable activity-tracking devices of their own volition and had continued to use them for between 3 and 54 months. The findings, which both support and contrast with those of previous research, paint a picture of the evolving benefits and practices surrounding these emerging technologies over long periods of use. They also serve as the basis for design implications for personal informatics technologies for long-term health and fitness support.
Thomas Fritz 0001, Elaine M. Huang, Gail C. Murphy, Thomas Zimmermann 0001
CHI1
2014 Using psycho-physiological measures to assess task difficulty in software development
abstract
Software developers make programming mistakes that cause serious bugs for their customers. Existing work to detect problematic software focuses mainly on post hoc identification of correlations between bug fixes and code. We propose a new approach to address this problem --- detect when software developers are experiencing difficulty while they work on their programming tasks, and stop them before they can introduce bugs into the code.
Thomas Fritz 0001, Andrew Begel, Sebastian C. Müller, Serap Yigit-Elliott, Manuela Züger
ICSE1
2014 CoMoGen: An Approach to Locate Relevant Task Context by Combining Search and Navigation
abstract
Developers spend a substantial amount of time searching and navigating source code to locate the relevant places for performing a change task. While the searching and navigating are highly intertwined and related, most current approaches focus either on search or on navigation support for developers, keeping the two distinct. In this paper, we present an approach called CoMoGen that combines search and navigation by expanding, ranking and visualizing search results with navigation context. In an experimental analysis we found that our approach is able to generate small task-relevant context models that locates more relevant search results than state-of-the-art and state-of-the-practice search approaches. A small, preliminary user study with ten participants further yields promising preliminary findings that CoMoGen supports developers in better understanding and assessing the relevance of search results and in reducing navigation steps.
Katja Kevic, Thomas Fritz 0001, David C. Shepherd
ICSME2
2014 CloudWave: Where adaptive cloud management meets DevOps
abstract
The transition to cloud computing offers a large number of benefits, such as lower capital costs and a highly agile environment. Yet, the development of software engineering practices has not kept pace with this change. Moreover, the design and runtime behavior of cloud based services and the underlying cloud infrastructure are largely decoupled from one another.This paper describes the innovative concepts being developed by CloudWave to utilize the principles of DevOps to create an execution analytics cloud infrastructure where, through the use of programmable monitoring and online data abstraction, much more relevant information for the optimization of the ecosystem is obtained. Required optimizations are subsequently negotiated between the applications and the cloud infrastructure to obtain coordinated adaption of the ecosystem. Additionally, the project is developing the technology for a Feedback Driven Development Standard Development Kit which will utilize the data gathered through execution analytics to supply developers with a powerful mechanism to shorten application development cycles.
Dario Bruneo, Thomas Fritz 0001, Sharon Barner, Philipp Leitner 0001, Francesco Longo 0001, Clarissa Cassales Marquezan, Andreas Metzger, Klaus Pohl, Antonio Puliafito, Danny Raz, Andreas Roth 0001, Eliot E. Salant, Itai Segall, Massimo Villari, Yaron Wolfsthal, Chris Woods
ISCC2
2014 A dictionary to translate change tasks to source code
abstract
At the beginning of a change task, software developers spend a substantial amount of their time searching and navigating to locate relevant parts in the source code. Current approaches to support developers in this initial code search predominantly use information retrieval techniques that leverage the similarity between task descriptions and the identifiers of code elements to recommend relevant elements. However, the vocabulary or language used in source code often differs from the one used for describing change tasks, especially since the people developing the code are not the same as the ones reporting bugs or defining new features to be implemented. In our work, we investigate the creation of a dictionary that maps the different vocabularies using information from change sets and interaction histories stored with previously completed tasks. In an empirical analysis on four open source projects, our approach substantially improved upon the results of traditional information retrieval techniques for recommending relevant code elements.
Katja Kevic, Thomas Fritz 0001
MSR2
2014 Developers' code context models for change tasks
abstract
To complete a change task, software developers spend a substantial amount of time navigating code to understand the relevant parts. During this investigation phase, they implicitly build context models of the elements and relations that are relevant to the task. Through an exploratory study with twelve developers completing change tasks in three open source systems, we identified important characteristics of these context models and how they are created. In a second empirical analysis, we further examined our findings on data collected from eighty developers working on a variety of change tasks on open and closed source projects. Our studies uncovered, amongst other results, that code context models are highly connected, structurally and lexically, that developers start tasks using a combination of search and navigation and that code navigation varies substantially across developers. Based on these findings we identify and discuss design requirements to better support developers in the initial creation of code context models. We believe this work represents a substantial step in better understanding developers' code navigation and providing better tool support that will reduce time and effort needed for change tasks.
Thomas Fritz 0001, David C. Shepherd, Katja Kevic, Will Snipes, Christoph Bräunlich
SIGSOFT FSE1
2014 Software developers' perceptions of productivity
abstract
The better the software development community becomes at creating software, the more software the world seems to demand. Although there is a large body of research about measuring and investigating productivity from an organizational point of view, there is a paucity of research about how software developers, those at the front-line of software construction, think about, assess and try to improve their productivity. To investigate software developers' perceptions of software development productivity, we conducted two studies: a survey with 379 professional software developers to help elicit themes and an observational study with 11 professional software developers to investigate emergent themes in more detail. In both studies, we found that developers perceive their days as productive when they complete many or big tasks without significant interruptions or context switches. Yet, the observational data we collected shows our participants performed significant task and activity switching while still feeling productive. We analyze such apparent contradictions in our findings and use the analysis to propose ways to better support software developers in a retrospection and improvement of their productivity through the development of new tools and the sharing of best practices.
André N. Meyer, Thomas Fritz 0001, Gail C. Murphy, Thomas Zimmermann 0001
SIGSOFT FSE2
2014 Degree-of-knowledge: Modeling a developer's knowledge of code
abstract
As a software system evolves, the system's codebase constantly changes, making it difficult for developers to answer such questions as who is knowledgeable about particular parts of the code or who needs to know about changes made. In this article, we show that an externalized model of a developer's individual knowledge of code can make it easier for developers to answer such questions. We introduce a degree-of-knowledge model that computes automatically, for each source-code element in a codebase, a real value that represents a developer's knowledge of that element based on a developer's authorship and interaction data. We present evidence that shows that both authorship and interaction data of the code are important in characterizing a developer's knowledge of code. We report on the usage of our model in case studies on expert finding, knowledge transfer, and identifying changes of interest. We show that our model improves upon an existing expertise-finding approach and can accurately identify changes for which a developer should likely be aware. We discuss how our model may provide a starting point for knowledge transfer but that more refinement is needed. Finally, we discuss the robustness of the model across multiple development sites.
Thomas Fritz 0001, Gail C. Murphy, Emerson R. Murphy-Hill, Jingwen Ou, Emily Hill 0001
ACM Trans. Softw. Eng. Methodol.1
2013 Stakeholders' Information Needs for Artifacts and Their Dependencies in a Real World Context
abstract
In the evolution of software, stakeholders continuously seek and consult various information artifacts and their interdependencies to successfully complete their daily activities. While a lot of research has focused on supporting stakeholders in satisfying various information needs, there is little empirical evidence on how these information needs manifest themselves in the context of professional software development teams of real world companies. To investigate the information needs of the different stakeholder roles involved in software evolution activities, we conducted an empirical study with 23 participants from two professional development teams of one company. The analysis of the gathered data shows that information needs exhibit a crosscutting nature with respect to stakeholder role, activity, artifacts and even fragments of artifacts. We also found that the dependencies between information artifacts are important for the successful performance of software evolution activities, but often not captured explicitly. The lack of an explicit representation of these interdependencies often result in difficulties identifying dependent artifacts and additional communication effort. Based on our findings, we suggest ways to better support stakeholders with their information needs.
Sebastian C. Müller, Thomas Fritz 0001
ICSM2
2012 Sando: an extensible local code search framework
abstract
Developers heavily rely on Local Code Search (LCS)---the execution of a text-based search on a single code base---to find starting points in software maintenance tasks. While LCS approaches commonly used by developers are based on lexical matching and often result in failed searches or irrelevant results, developers have not yet migrated to the various research approaches that have made significant advancements in LCS. We hypothesize that two of the major reasons for this lack of migration are as follows. First, developers do not know which approach is the best, due to a lack of comparative field studies and the discrepancies in the underlying LCS process that these research approaches address. Second, developers lack access to a stable implementation of most of the research approaches. To address these issues, we studied a number of LCS approaches, distilled the general component structure underlying these approaches and, based on this structure, developed a LCS tool and framework, called Sando. Currently used by developers at ABB, Inc. and elsewhere, Sando also supports the flexible extension of its components to rapidly disseminate research advancements, and allows for user-based evaluation of competing approaches.
David C. Shepherd, Kostadin Damevski, Bartosz Ropski, Thomas Fritz 0001
SIGSOFT FSE4
2011 Determining relevancy: how software developers determine relevant information in feeds
abstract
Finding relevant information within the vast amount of information exchanged via feeds is difficult. Previous research into this problem has largely focused on recommending relevant information based on topicality. By not considering individual and situational factors these approaches fall short. Through a formative, interview-based study, we explored how five software developers determined relevancy of items in two kinds of project news feeds. We identified four factors that the developers used to help determine relevancy and found that placement of items in source code and team contexts can ease the determination of relevancy.
Thomas Fritz 0001, Gail C. Murphy
CHI1
2010 Staying aware of relevant feeds in context
abstract
To stay aware of relevant information and avoid productivity loss, a developer has to continuously read through new incoming information. Our approach supports the integration of dynamic and static information in a development environment that allows the developer to continuously monitor the relevant information in context of his work.
Thomas Fritz 0001
ICSE (2)1
2010 Using information fragments to answer the questions developers ask
abstract
Each day, a software developer needs to answer a variety of questions that require the integration of different kinds of project information. Currently, answering these questions, such as “What have my co-workers been doing?”, is tedious, and sometimes impossible, because the only support available requires the developer to manually link and traverse the information step-by-step. Through interviews with eleven professional developers, we identified 78 questions developers want to ask, but for which support is lacking. We introduce an information fragment model (and prototype tool) that automates the composition of different kinds of information and that allows developers to easily choose how to display the composed information. In a study, 18 professional developers used the prototype tool to answer eight of the 78 questions. All developers were able to easily use the prototype to successfully answer 94 % of questions in a mean time of 2.3 minutes per question.
Thomas Fritz 0001, Gail C. Murphy
ICSE (1)1
2010 A degree-of-knowledge model to capture source code familiarity
abstract
The size and high rate of change of source code comprising a software system make it difficult for software developers to keep up with who on the team knows about particular parts of the code. Existing approaches to this problem are based solely on authorship of code. In this paper, we present data from two professional software development teams to show that both authorship and interaction information about how a developer interacts with the code are important in characterizing a developer's knowledge of code. We introduce the degree-of-knowledge model that computes automatically a real value for each source code element based on both authorship and interaction information. We show that the degree-of-knowledge model can provide better results than an existing expertise finding approach and also report on case studies of the use of the model to support knowledge transfer and to identify changes of interest.
Thomas Fritz 0001, Jingwen Ou, Gail C. Murphy, Emerson R. Murphy-Hill
ICSE (1)1
2008 How can diagramming tools help support programming activities?
abstract
We report on an exploratory study we conducted to investigate what kind of diagrammatic tool support, if any, is desired by programmers. The study involved 19 professional programmers working at three different companies. We found that the study participants desire a wide range of information content in diagrams, which would change depending upon the particular context of use. Meeting these needs may require flexible, adaptive and responsive diagramming tool support.
Seonah Lee 0001, Gail C. Murphy, Thomas Fritz 0001, Meghan Allen
VL/HCC3
2007 Does a programmer's activity indicate knowledge of code?
abstract
The practice of software development can likely be improved if an externalized model of each programmer's knowledge of a particular code base is available. Some tools already assume a useful form of such a model can be created from data collected during development, such as expertise recommenders that use information about who has changed each file to suggest who might answer questions about particular parts of a system. In this paper, we report on an empirical study that investigates whether a programmer's activity can be used to build a model of what a programmer knows about a code base. In this study, nineteen professional Java programmers completed a series of questionnaires about the code on which they were working. These questionnaires were generated automatically and asked about program elements a programmer had worked with frequently and recently and ones that he had not. We found that a degree of interest model based on this frequency and recency of interaction can often indicate the parts of the code base for which the programmer has knowledge. We also determined a number of factors that may be used to improve the model, such as authorship of program elements, the role of elements, and the task being performed.
Thomas Fritz 0001, Gail C. Murphy, Emily Hill 0001
ESEC/SIGSOFT FSE1
2005 Automating adaptive image generation for medical devices using aspect-oriented programming
abstract
Image generation, e.g., in computer tomographs, requires the use of sophisticated algorithms which are characterized (i) by a large variability to enable generation of different types of images and (ii) a strong need for dynamic reconfiguration to adapt image generation, e.g., to individual patients. On the application level, such characteristics are frequently scattered all over the code of the application. This suggests the use of aspect-oriented programming (AOP) techniques to modularize such crosscutting functionality. In this paper we present an approach to automate image generation tasks using AOP and their application in the context of medical devices from Siemens AG, Germany. Concretely, we present three results: (i) a motivation why imaging software can benefit from dynamic AOP, (ii) a case study of how image generation, in particular for medical devices, can be adapted using the Arachne system for dynamic AOP in C, and (iii) a suitable aspect language and its realization within Arachne.
Thomas Fritz 0001, Marc Ségura, Mario Südholt, Egon Wuchner, Jean-Marc Menaud
ETFA1