VLDB 2026 Research / reviewers in the wild / expert
Austin Z. Henley
dblp:144/5345 · also Austin Zachary Henley
· DBLP profile ↗
30ranked-venue papers
9as first author
15since 2021 · last 2026
0000-0003-1069-2795ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 21 · 8 first-author · 9 since 2021Software engineering, systems software and programming languages · 9 · 1 first-author · 6 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Dear researchers: Is AI all you've got?
Austin Z. Henley |
J. Syst. Softw. | 1 |
| 2025 | Exploring the Design Space of Cognitive Engagement Techniques with AI-Generated Code for Enhanced Learning
Majeed Kazemitabaar, Oliver Huang, Sangho Suh, Austin Z. Henley, Tovi Grossman |
IUI | 4 |
| 2025 | Building Your Own Product Copilot: Challenges, Opportunities, and NeedsabstractA race is underway to embed advanced AI capabil-ities into products. These product “copilots” enable users to ask questions in natural language and receive relevant responses that are specific to the user's context. In fact, virtually every large technology company is looking to add these capabilities to their software products. However, for most software engineers, this is often their first encounter with integrating AI-powered technol-ogy. Furthermore, software engineering processes and tools have not caught up with the challenges and scale involved with building AI-powered applications. In this work, we present the findings of an interview study with 26 professional software engineers responsible for building product copilots at various companies. From our interviews, we found pain points at every step of the engineering process and the challenges that strained existing development practices. We then conducted group brainstorming sessions to collaborative on opportunities and tool designs for the broader software engineering community. Chris Parnin, Gustavo Soares, Rahul Pandita, Sumit Gulwani, Jessica Rich, Austin Z. Henley |
SANER | 6 |
| 2025 | DeckFlow: Specification Decomposition on a Multimodal Generative Canvas
Gregory Thomas Croisdale, Emily Huang, John Joon Young Chung, Anhong Guo, Xu Wang 0016, Austin Z. Henley, Cyrus Omar |
VL/HCC | 6 |
| 2024 | CodeAid: Evaluating a Classroom Deployment of an LLM-based Programming Assistant that Balances Student and Educator NeedsabstractTimely, personalized feedback is essential for students learning programming. LLM-powered tools like ChatGPT offer instant support, but reveal direct answers with code, which may hinder deep conceptual engagement. We developed CodeAid, an LLM-powered programming assistant delivering helpful, technically correct responses, without revealing code solutions. CodeAid answers conceptual questions, generates pseudo-code with line-by-line explanations, and annotates student’s incorrect code with fix suggestions. We deployed CodeAid in a programming class of 700 students for a 12-week semester. A thematic analysis of 8,000 usages of CodeAid was performed, further enriched by weekly surveys, and 22 student interviews. We then interviewed eight programming educators to gain further insights. Our findings reveal four design considerations for future educational AI assistants: D1) exploiting AI’s unique benefits; D2) simplifying query formulation while promoting cognitive engagement; D3) avoiding direct responses while encouraging motivated learning; and D4) maintaining transparency and control for students to asses and steer AI responses. Majeed Kazemitabaar, Runlong Ye 0002, Austin Z. Henley, Paul Denny 0001, Michelle Craig, Tovi Grossman |
CHI | 4 |
| 2024 | Investigating Student Mistakes in Introductory Data Science ProgrammingabstractData Science (DS) has emerged as a new academic discipline where students are introduced to data-centric thinking and generating data-driven insights through programming. Unlike traditional introductory Computer Science (CS) education, which focuses on program syntax and core CS topics (e.g., algorithms and data structures), introductory DS education emphasizes skills such as analyzing data to gain insights by making effective use of programming libraries (e.g., re, NumPy, pandas, scikit-learn). To better understand learners' needs and pain points when they are introduced to DS programming, we investigated a large online course on data manipulation designed for graduate students who do not have a CS or Statistics undergraduate degree. We qualitatively analyzed students' incorrect code submissions for computational notebook-based assignments in Python. We identified common mistakes and grouped them into the following themes: (1) programming language and environment misconceptions, (2) logical mistakes due to data or problem-statement misunderstanding or incorrectly dealing with missing values, (3) semantic mistakes due to incorrect use of DS libraries, and (4) suboptimal coding. Our work provides instructors insights to understand student needs in introductory DS courses and improve course pedagogy, and recommendations for developing assessment and feedback tools to support students in large courses. Anna Fariha, Christopher Brooks 0001, Gustavo Soares, Austin Z. Henley, Ashish Tiwari 0001, Chethan M, Heeryung Choi, Sumit Gulwani |
SIGCSE (1) | 5 |
| 2024 | Improving Steering and Verification in AI-Assisted Data Analysis with Interactive Task DecompositionabstractLLM-powered tools like ChatGPT Data Analysis, have the potential to help users tackle the challenging task of data analysis programming, which requires expertise in data processing, programming, and statistics. However, our formative study (n=15) uncovered serious challenges in verifying AI-generated results and steering the AI (i.e., guiding the AI system to produce the desired output). We developed two contrasting approaches to address these challenges. The first (Stepwise) decomposes the problem into step-by-step subgoals with pairs of editable assumptions and code until task completion, while the second (Phasewise) decomposes the entire problem into three editable, logical phases: structured input/output assumptions, execution plan, and code. A controlled, within-subjects experiment (n=18) compared these systems against a conversational baseline. Users reported significantly greater control with the Stepwise and Phasewise systems, and found intervention, correction, and verification easier, compared to the baseline. The results suggest design guidelines and trade-offs for AI-assisted data analysis tools. Majeed Kazemitabaar, Jack Williams 0001, Ian Drosos, Tovi Grossman, Austin Z. Henley, Carina Negreanu, Advait Sarkar |
UIST | 5 |
| 2024 | Inline Visualization and Manipulation of Real-Time Hardware Log for Supporting Debugging of Embedded ProgramsabstractThe advent of user-friendly embedded prototyping systems, exemplified by platforms like Arduino, has significantly democratized the creation of interactive devices that combine software programs with electronic hardware. This interconnection between hardware and software, however, makes the identification of bugs very difficult, as problems could be rooted in the program, in the circuit, or at their intersection. While there are tools to assist in identifying and resolving bugs, they typically require hardware instrumentation or visualizing logs in serial monitors. Based on the findings of a formative study, we designed Inline a programming tool that simplifies debugging of embedded systems by making explicit the internal state of the hardware and the program's execution flow using visualizations of the hardware logs directly within the user's code. The system's key characteristics are 1) an inline presentation of logs within the code, 2) real-time tracking of the execution flow, and 3) an expression language to manipulate and filter the logs. The paper presents the detailed implementation of the system and a study with twelve users, which demonstrates what features were adopted and how they were leveraged to complete debugging tasks. Andrea Bianchi, Zhi Lin Yap, Punn Lertjaturaphat, Austin Z. Henley, Kongpyung Moon |
Proc. ACM Hum. Comput. Interact. | 4 |
| 2024 | Follow-Up Attention: An Empirical Study of Developer and Neural Model Code ExplorationabstractRecent neural models of code, such as OpenAI Codex and AlphaCode, have demonstrated remarkable proficiency at code generation due to the underlying attention mechanism. However, it often remains unclear how the models actually process code, and to what extent their reasoning and the way their attention mechanism scans the code matches the patterns of developers. A poor understanding of the model reasoning process limits the way in which current neural models are leveraged today, so far mostly for their raw prediction. To fill this gap, this work studies how the processed attention signal of three open large language models - CodeGen, InCoder and GPT-J - agrees with how developers look at and explore code when each answers the same sensemaking questions about code. Furthermore, we contribute an open-source eye-tracking dataset comprising 92 manually-labeled sessions from 25 developers engaged in sensemaking tasks. We empirically evaluate five heuristics that do not use the attention and ten attention-based post-processing approaches of the attention signal of CodeGen against our ground truth of developers exploring code, including the novel concept offollow-up attentionwhich exhibits the highest agreement between model and human attention. Our follow-up attention method can predict the next line a developer will look at with 47% accuracy. This outperforms the baseline prediction accuracy of 42.3%, which uses the session history of other developers to recommend the next line. These results demonstrate the potential of leveraging the attention signal of pre-trained models for effective code exploration. Matteo Paltenghi, Rahul Pandita, Austin Z. Henley, Albert Ziegler 0001 |
IEEE Trans. Software Eng. | 3 |
| 2023 | What Is Your Biggest Pain Point?: An Investigation of CS Instructor Obstacles, Workarounds, and DesiresabstractComputer science instructors have one of the most crucial roles in training and making educational materials. However, they face many challenges everyday that make it difficult to provide a high-quality learning experience to their students. Additionally, demand for computer science training is rapidly increasing, and to meet this demand, classrooms need to run on a larger scale, which may exacerbate instructor pain points further. While many of the previous studies in the computer science education community have focused on improving the students' learning experience, in this study we investigate computer science instructors. It is paramount to understand how instructors can be supported more effectively while continuing to improve the material they use in their courses and allow them to focus on student needs. To understand these instructor challenges, we conducted semi-structured interviews with 32 computer science instructors at universities and community colleges to ask about their experiences in preparing course material, lecturing, grading, providing feedback to students, and what they wished they could change. In this paper, we summarize our findings as themes of challenges and pain points for instructors, the consequences of not solving them, and suggested guidelines that may help resolve or reduce these pain points. Samim Mirhosseini, Austin Z. Henley, Chris Parnin |
SIGCSE (1) | 2 |
| 2023 | Detangler: Helping Data Scientists Explore, Understand, and Debug Data Wrangling PipelinesabstractData scientists spend significant time on data wrangling-a process involving data cleaning, shaping, and pre-processing. Data wrangling requires meticulous exploration and backtracking to assess data quality by applying and validating numerous data transformation chains, making it a tedious and error-prone process. In this paper, we present Detangler, an interactive tool within the RStudio IDE that helps data scientists identify and debug data quality issues and wrangling code. The design of Detangler is informed via formative interviews, and it presents data scientists with (i) insights into potential data quality issues, and (ii) always-on visual summaries of the effects of individual data transformations, enabling interactive exploration of data and wrangling code. Through a laboratory study with 18 data scientists, triangulated with telemetry data, we find that Detangler improves exploration and debugging of data smells and data wrangling code. We discuss design implications for future tools for data science programming. Nischal Shrestha, Bhavya Chopra, Austin Z. Henley, Chris Parnin |
VL/HCC | 3 |
| 2022 | OpenCBS: An Open-Source COBOL Defects Benchmark SuiteabstractAs the current COBOL workforce retires, entry-level developers are left to keep complex legacy systems maintained and operational. This creates a massive gap in knowledge and ability as companies are having their veteran developers replaced with a new, inexperienced workforce. Additionally, the lack of COBOL and mainframe technology in the current academic curriculum further increases the learning curve for this new generation of developers. These issues are becoming even more pressing due to the business-critical nature of these systems, which makes migrating or replacing the mainframe and COBOL unlikely anytime soon. As a result, there is now a huge need for tools and resources to increase new developers’ code comprehension and ability to perform routine tasks such as debugging and defect location. Extensive work has been done in the software engineering field on the creation of such resources. However, the proprietary nature of COBOL and mainframe systems has restricted the amount of work and the number of open-source tools available for this domain. To address this issue, our work leverages the publicly available technical forum data to build an open-source collection of COBOL programs embodying issues/defects faced by COBOL developers. These programs were reconstructed and organized in a benchmark suite to facilitate the testing of developer tools. Our goal is to provide an open-source COBOL benchmark and testing suite that encourage community contribution and serve as a resource for researchers and tool-smiths in this domain. Dylan Lee, Austin Z. Henley, Bill Hinshaw, Rahul Pandita |
ICSME | 2 |
| 2022 | A fine-grained data set and analysis of tangling in bug fixing commitsabstractAbstract Context Tangled commits are changes to software that address multiple concerns at once. For researchers interested in bugs, tangled commits mean that they actually study not only bugs, but also other concerns irrelevant for the study of bugs. Objective We want to improve our understanding of the prevalence of tangling and the types of changes that are tangled within bug fixing commits. Methods We use a crowd sourcing approach for manual labeling to validate which changes contribute to bug fixes for each line in bug fixing commits. Each line is labeled by four participants. If at least three participants agree on the same label, we have consensus. Results We estimate that between 17% and 32% of all changes in bug fixing commits modify the source code to fix the underlying problem. However, when we only consider changes to the production code files this ratio increases to 66% to 87%. We find that about 11% of lines are hard to label leading to active disagreements between participants. Due to confirmed tangling and the uncertainty in our data, we estimate that 3% to 47% of data is noisy without manual untangling, depending on the use case. Conclusion Tangled commits have a high prevalence in bug fixes and can lead to a large amount of noise in the data. Prior research indicates that this noise may alter results. As researchers, we should be skeptics and assume that unvalidated data is likely very noisy, until proven otherwise. Steffen Herbold, Alexander Trautsch, Benjamin Ledel, Alireza Aghamohammadi, Taher Ahmed Ghaleb, Kuljit Kaur Chahal, Tim Bossenmaier, Bhaveet Nagaria, Philip Makedonski, Matin Nili Ahmadabadi, Kristóf Szabados, Helge Spieker, Matej Madeja, Nathaniel Hoy, Valentina Lenarduzzi, Shangwen Wang, Gema Rodríguez-Pérez, Ricardo Colomo-Palacios, Roberto Verdecchia, Paramvir Singh, Yihao Qin, Debasish Chakroborti, Willard Davis, Vijay Walunj, Diego Marcilio, Omar Alam, Abdullah Aldaeej, Idan Amit, Burak Turhan, Simon Eismann, Anna-Katharina Wickert, Ivano Malavolta, Matús Sulír, Fatemeh Hendijani Fard, Austin Z. Henley, Stratos Kourtzanidis, Eray Tüzün, Christoph Treude, Simin Maleki Shamasbi, Ivan Pashchenko, Marvin Wyrich, James C. Davis 0001, Alexander Serebrenik, Ella Albrecht, Ethem Utku Aktas, Daniel Strüber 0001, Johannes Erbel |
Empir. Softw. Eng. | 36 |
| 2022 | Characterizing Work-Life for Information Work on Mars: A Design Fiction for the New Future of Work on EarthabstractWe present a design fiction, which is set in the near future as significant Mars habitation begins. Our goal in creating this fiction is to address current work-life issues on Earth and Mars in the future. With shelter-in-place measures, established norms of productivity and relaxation have been shaken. The fiction creates an opportunity to explore boundaries between work and life, which are changing with shelter-in-place and will continue to change. Our work includes two primary artifacts: (1) a propaganda recruitment poster and (2) a fictional narrative account. The former paints the work-life on Mars as heroic, fulfilling, and fun. The latter provides a contrast that depicts the lived experience of early Mars inhabitants. Our statement draws from our design fiction in order to reflect on the structure of work, stress identification and management, family and work-family communication, and the role of automation. Rhema Linder, Chase C. Hunter, Jacob McLemore, Senjuti Dutta, Fatema Akbar 0001, Ted Grover, Thomas Breideband, Judith W. Borghouts, Yuwen Lu, Gloria Mark, Austin Z. Henley, Alex C. Williams |
Proc. ACM Hum. Comput. Interact. | 11 |
| 2021 | CodeRibbon: More Efficient Workspace Management and Navigation for Mainstream Development EnvironmentsabstractDevelopers spend considerable time navigating and managing open code documents in their development environment. Researchers have proposed novel interfaces to address the problems of workspace management, such as the Patchworks and Code Bubbles code editors, which replace the traditional tabbed document interface. However, these interfaces are not available in mainstream development environments despite their promising laboratory results. In this paper, we demonstrate CodeRibbon, a user interface for more efficient workspace management and navigation that is publicly available as a code editor plugin. CodeRibbon provides a virtually endless ribbon of code documents that are arranged in an adjustable grid for efficient juxtaposition and navigation with minimal document management. Our implementation is open source and currently in development as plugins for Atom and VS Code. Since prior research on these interfaces has been limited to laboratory studies, we aim to collect usage data from a longitudinal field study involving professional developers engaged in real-world tasks. This work should provide a better understanding of how tools can support developers in efficiently managing their development environments. Demonstration video: https://youtu.be/m5wQ87ItVGg Benjamin P. Klein, Austin Z. Henley |
ICSME | 2 |
| 2020 | What's Wrong with Computational Notebooks? Pain Points, Needs, and Design OpportunitiesabstractComputational notebooks - such as Azure, Databricks, and Jupyter - are a popular, interactive paradigm for data scientists to author code, analyze data, and interleave visualizations, all within a single document. Nevertheless, as data scientists incorporate more of their activities into notebooks, they encounter unexpected difficulties, or pain points, that impact their productivity and disrupt their workflow. Through a systematic, mixed-methods study using semi-structured interviews (n=20) and survey (n=156) with data scientists, we catalog nine pain points when working with notebooks. Our findings suggest that data scientists face numerous pain points throughout the entire workflow - from setting up notebooks to deploying to production - across many notebook environments. Our data scientists report essential notebook requirements, such as supporting data exploration and visualization. The results of our study inform and inspire the design of computational notebooks. Souti Chattopadhyay, Ishita Prasad, Austin Z. Henley, Anita Sarma, Titus Barik |
CHI | 3 |
| 2020 | Supporting Code Comprehension via Annotations: Right Information at the Right Time and PlaceabstractCode comprehension, especially understanding relationships across project elements (code, documentation, etc.), is non-trivial when information is spread across different interfaces and tools. Bringing the right amount of information, to the place where it is relevant and when it is needed can help reduce the costs of seeking information and creating mental models of the code relationships. While non-traditional IDEs have tried to mitigate these costs by allowing users to spatially place relevant information together, thus far, no study has examined the effects of these non-traditional interactions on code comprehension. Here, we present an empirical study to investigate how the right information at the right time and right place allows users-especially newcomers-to reduce the costs of code comprehension. We use a non-traditional IDE, called Synectic, and implement link-able annotations which provide affordances for the accuracy, time, and space dimensions. We conducted a between-subjects user study of 22 newcomers performing code comprehension tasks using either Synectic or a traditional IDE, Eclipse. We found that having the right information at the right time and place leads to increased accuracy and reduced cognitive load during code comprehension tasks, without sacrificing the usability of developer tools. Marjan Adeli, Nicholas Nelson 0002, Souti Chattopadhyay, Hayden Coffey, Austin Z. Henley, Anita Sarma |
VL/HCC | 5 |
| 2019 | Towards an Empirically-Based IDE: An Analysis of Code Size and Screen SpaceabstractIntegrated development environments (IDEs) are ubiquitous in software development. Despite their popularity, much of their designs are not based on empirical findings and have been virtually unchanged since their inception. More recently, researchers have proposed alternative IDE designs based on observational studies of developers and found promising benefits. However, many design decisions are still unsupported by empirical evidence. Towards designing an empirically-driven IDE, we performed an analysis on code size and screen space. First, we analyzed the size of code from 95 projects in 4 programming languages. Second, we calculated how much code can fit onscreen using various document arrangements in VS Code with common screen resolutions. We found (1) the length of code depends on the programming language, while the width of code is similar across languages and (2) the amount of code onscreen can be substantially increased by properly configuring the IDE and by using a high-resolution monitor. Adam C. Short, Austin Z. Henley |
VL/HCC | 2 |
| 2018 | CFar: A Tool to Increase Communication, Productivity, and Review Quality in Collaborative Code ReviewsabstractCollaborative code review has become an integral part of the collaborative design process in the domain of software development. However, there are well-documented challenges and limitations to collaborative code review---for instance, high-quality code reviews may require significant time and effort for the programmers, whereas faster, lower-quality reviews may miss code defects. To address these challenges, we introduce CFar, a novel tool design for extending collaborative code review systems with an automated code reviewer whose feedback is based on program-analysis technologies. To validate this design, we implemented CFar as a production-quality tool and conducted a mixed-method empirical evaluation of the tool usage at Microsoft. Through the field deployment of our tool and a laboratory study of professional programmers using the tool, we produced several key findings showing that CFar enhances communication, productivity, and review quality in human--human collaborative code review. Austin Z. Henley, KIotavanç Muçlu, Maria Christakis, Scott D. Fleming, Christian Bird |
CHI | 1 |
| 2018 | CodeDeviant: Helping Programmers Detect Edits That Accidentally Alter Program BehaviorabstractIn this paper, we present CodeDeviant, a novel tool for visual dataflow programming environments that assists programmers by helping them ensure that their code-restructuring changes did not accidentally alter the behavior of the application. CodeDeviant aims to integrate seamlessly into a programmer's workflow, requiring little or no additional effort or planning. Key features of CodeDeviant include transparently recording program execution data, enabling programmers to efficiently compare program outputs, and allowing only apt comparisons between executions. We report a formative qualitative-shadowing study of LabViewprogrammers, which motivated CodeDeviant's design, revealing that the programmers had considerable difficulty determining whether code changes they made resulted in unintended program behavior. To evaluate Code-Deviant, we implemented a prototype CodeDeviant extension for LabViewand used it to conduct a laboratory user study. Key results included that programmers using CodeDeviant discovered behavior-altering changes more accurately and in less time than programmers using standard LabView. Austin Z. Henley, Scott D. Fleming |
VL/HCC | 1 |
| 2017 | Toward Principles for the Design of Navigation Affordances in Code Editors: An Empirical InvestigationabstractDesign principles are a key tool for creators of interactive systems; however, a cohesive set of principles has yet to emerge for the design of code editors. In this paper, we conducted a between-subjects empirical study comparing the navigation behaviors of 32 professional LabVIEW programmers using two different code-editor interfaces: the ubiquitous tabbed editor and the experimental Patchworks editor. Our analysis focused on how the programmers arranged and navigated among open information patches (i.e., code modules and program output). Key findings of our study included that Patchworks users made significantly fewer click actions per navigation, juxtaposed patches side by side significantly more, and exhibited significantly fewer navigation mistakes than tabbed-editor users. Based on these findings and more, we propose five general principles for the design of effective navigation affordances in code editors. Austin Z. Henley, Scott D. Fleming, Maria V. Luong |
CHI | 1 |
| 2017 | Foraging goes mobile: Foraging while debugging on mobile devicesabstractAlthough Information Foraging Theory (IFT) research for desktop environments has provided important insights into numerous information foraging tasks, we have been unable to locate IFT research for mobile environments. Despite the limits of mobile platforms, mobile apps are increasingly serving functions that were once exclusively the territory of desktops - and as the complexity of mobile apps increases, so does the need for foraging. In this paper we investigate, through a theory-based, dual replication study, whether and how foraging results from a desktop IDE generalize to a functionally similar mobile IDE. Our results show ways prior foraging research results from desktop IDEs generalize to mobile IDEs and ways they do not, and point to challenging open research questions for foraging on mobile environments. David Piorkowski, Sean Penney, Austin Z. Henley, Marco Pistoia, Margaret M. Burnett, Omer Tripp, Pietro Ferrara 0001 |
VL/HCC | 3 |
| 2016 | An Empirical Evaluation of Models of Programmer NavigationabstractIn this paper, we report an evaluation study of predictive models of programmer navigation. In particular, we compared two operationalizations of navigation from the literature (click-based versus view-based) to see which more accurately records a developer's navigation behaviors. Moreover, we also compared the predictive accuracy of seven models of programmer navigation from the literature, including ones based on navigation history and code-structural relationships. To address our research goals, we performed a controlled laboratory study of the navigation behavior of 10 participants engaged in software evolution tasks. The study was a partial replication of a previous comprehensive evaluation of predictive models by Piorkowski et al., and also served to test the generalizability of their results. Key findings of the study included that the click-based navigations agreed closely with those reported by human observers, whereas view-based navigations diverged significantly. Furthermore, our data showed that the predictive model based on recency was significantly more accurate than the other models, suggesting the strong potential for tools that leverage recency-type models. Finally, our model-accuracy results had a strong correlation with the Piorkowski results, however, our results differed in several noteworthy ways, potentially caused by differences in task type and code familiarity. Austin Z. Henley, Scott D. Fleming, Maria V. Luong |
ICSME | 2 |
| 2016 | Foraging and navigations, fundamentally: developers' predictions of value and costabstractEmpirical studies have revealed that software developers spend 35%–50% of their time navigating through source code during development activities, yet fundamental questions remain: Are these percentages too high, or simply inherent in the nature of software development? Are there factors that somehow determine a lower bound on how effectively developers can navigate a given information space? Answering questions like these requires a theory that captures the core of developers' navigation decisions. Therefore, we use the central proposition of Information Foraging Theory to investigate developers' ability to predict the value and cost of their navigation decisions. Our results showed that over 50% of developers' navigation choices produced less value than they had predicted and nearly 40% cost more than they had predicted. We used those results to guide a literature analysis, to investigate the extent to which these challenges are met by current research efforts, revealing a new area of inquiry with a rich and crosscutting set of research challenges and open problems. David Piorkowski, Austin Z. Henley, Tahmid Nabi, Scott D. Fleming, Christopher Scaffidi, Margaret M. Burnett |
SIGSOFT FSE | 2 |
| 2016 | Designing affordances for navigating information spaces in code editorsabstractNavigating information spaces is a fundamental yet challenging task for software developers. For example, one study found that programmers spend 35% of their time on the mechanics of navigating [7]. In another study, programmers spent 38-71% of their time foraging for information during debugging tasks [9]. This is further complicated by programmers' rapidly changing information goals [9] and mental models of the information as they navigate [6]. Austin Z. Henley |
VL/HCC | 1 |
| 2016 | Yestercode: Improving code-change support in visual dataflow programming environmentsabstractIn this paper, we present the Yestercode tool for supporting code changes in visual dataflow programming environments. In a formative investigation of LabVIEW programmers, we found that making code changes posed a significant challenge. To address this issue, we designed Yestercode to enable the efficient recording, retrieval, and juxtaposition of visual dataflow code while making code changes. To evaluate Yestercode, we implemented our design as a prototype extension to the LabVIEW programming environment, and ran a user study involving 14 professional LabVIEW programmers that compared Yestercode-extended LabVIEW to the standard LabVIEW IDE. Our results showed that Yestercode users introduced fewer bugs during tasks, completed tasks in about the same time, and experienced lower cognitive loads on tasks. Moreover, participants generally reported that Yestercode was easy to use and that it helped in making change tasks easier. Austin Z. Henley, Scott D. Fleming |
VL/HCC | 1 |
| 2015 | To fix or to learn? How production bias affects developers' information foraging during debuggingabstractDevelopers performing maintenance activities must balance their efforts to learn the code vs. their efforts to actually change it. This balancing act is consistent with the “production bias” that, according to Carroll's minimalist learning theory, generally affects software users during everyday tasks. This suggests that developers' focus on efficiency should have marked effects on how they forage for the information they think they need to fix bugs. To investigate how developers balance fixing versus learning during debugging, we conducted the first empirical investigation of the interplay between production bias and information foraging. Our theory-based study involved 11 participants: half tasked with fixing a bug, and half tasked with learning enough to help someone else fix it. Despite the subtlety of difference between their tasks, participants foraged remarkably differently-making foraging decisions from different types of “patches,” with different types of information, and succeeding with different foraging tactics. David Piorkowski, Scott D. Fleming, Christopher Scaffidi, Margaret M. Burnett, Irwin Kwan, Austin Z. Henley, Charles Hill 0001, Amber Horvath |
ICSME | 6 |
| 2014 | The patchworks code editor: toward faster navigation with less code arranging and fewer navigation mistakesabstractIncreasingly, people are faced with navigating large information spaces, and making such navigation efficient is of paramount concern. In this paper, we focus on the problems programmers face in navigating large code bases, and propose a novel code editor, Patchworks, that addresses the problems. In particular, Patchworks leverages two new interface idioms - the patch grid and the ribbon - to help programmers navigate more quickly, make fewer navigation errors, and spend less time arranging their code. To validate Patchworks, we conducted a user study that compared Patchworks to two existing code editors: the traditional file-based editor, Eclipse, and the newer canvas-based editor, Code Bubbles. Our results showed (1) that programmers using Patchworks were able to navigate significantly faster than with Eclipse (and comparably with Code Bubbles), (2) that programmers using Patchworks made significantly fewer navigation errors than with Code Bubbles or Eclipse, and (3) that programmers using Patchworks spent significantly less time arranging their code than with Code Bubbles (and comparably with Eclipse). Austin Z. Henley, Scott D. Fleming |
CHI | 1 |
| 2014 | Improving source code navigation with patchworksabstractProgrammers spend a considerable amount of time navigating among many code fragments that may be spread across hundreds or even thousands of files. For example, one study found that programmers spent 35% of their time navigating. Another study showed that 50% of programmers' time was spent foraging for information. The author's work aims to increase programmer productivity through the design of new code editors and tools to speed up source code navigation. It proposes a new tool concept known as Patchworks. In particular, Patchworks aims to allow programmers to conveniently juxtapose code, to efficiently navigate recently visited code fragments, to significantly reduce scrolling, and to reduce the time spent arranging code. Austin Z. Henley |
VL/HCC | 1 |
| 2014 | Helping programmers navigate code faster with Patchworks: A simulation studyabstractProgrammers spend considerable time navigating source code, and we recently proposed the Patchworks code editor to help address this problem. A prior preliminary study of Patchworks found that it significantly reduced programmer navigation time and navigation errors. In this paper, we expand on these findings by investigating the effect of various patch-arranging strategies in Patchworks. To evaluate these strategies, we ran a simulation study based on actual programmer navigation data. Our simulator results showed (1) that none of the strategies tested had a significant effect on programmer-navigation time, and (2) that navigating code using Patchworks, regardless of strategy, was significantly faster than using Eclipse. Austin Z. Henley, Scott D. Fleming, Maria V. Luong |
VL/HCC | 1 |