240 citations · 290 across the 16 of their papers we have counts for
20 papers
Designing for Robot Wranglers: A Synthesis of Literature and Practice
David Porfirio, Ian McDermott, Hsin-Mei Chen +3
Robots are increasingly present in human spaces, such as for conducting deliveries in hospitals, interacting with visitors at museums, and stocking items in warehouses. To ensure t…
How Developers Choose Debugging Strategies for Challenging Web Application Defects
Maryam Arab, Jenny T. Liang, Valentina Hong +1
Effective debugging is a crucial aspect of software development, demanding problem-solving skills, expertise, and appropriate tools. Although previous research has studied expert d…
Towards Decoding Developer Cognition in the Age of AI Assistants
Ebtesam Al Haque, Chris Brown, Thomas D. LaToza +1
Background: The increasing adoption of AI assistants in programming has led to numerous studies exploring their benefits. While developers consistently report significant productiv…
The Evolution of Information Seeking in Software Development: Understanding the Role and Impact of AI Assistants
Ebtesam Al Haque, Chris Brown, Thomas D. LaToza +1
About 32% of a software practitioners' day involves seeking and using information to support task completion. Although the information needs of software practitioners have been stu…
IntelliExplain: Enhancing Conversational Code Generation for Non-Professional Programmers
Hao Yan, Thomas D. Latoza, Ziyu Yao
Chat LLMs such as GPT-3.5-turbo and GPT-4 have shown promise in assisting humans in coding, particularly by enabling them to conversationally provide feedback. However, current app…
ChatGPT and Software Testing Education: Promises & Perils
Sajed Jalil, Suzzana Rafi, Thomas D. LaToza +2
Over the past decade, predictive language modeling for code has proven to be a valuable tool for enabling new forms of automation for developers. More recently, we have seen the ad…
A Qualitative Study on the Implementation Design Decisions of Developers
Jenny T. Liang, Maryam Arab, Minhyuk Ko +2
Decision-making is a key software engineering skill. Developers constantly make choices throughout the software development process, from requirements to implementation. While prio…
Edit-Run Behavior in Programming and Debugging
Abdulaziz Alaboudi, Thomas D. LaToza
As developers program and debug, they continuously edit and run their code, a behavior known as edit-run cycles. While techniques such as live programming are intended to support t…
An Exploratory Study of Debugging Episodes
Abdulaziz Alaboudi, Thomas D. LaToza
Many studies have long investigated how developers debug, shaping our understanding of debugging and helping motivate the creation of more effective tools. However, less is known a…
Can Microtask Programming Work in Industry?
Shinobu Saito, Yukako Iimura, Emad Aghayi +1
A critical issue in software development projects in IT service companies is finding the right people at the right time. By enabling assignments of tasks to people to be more fluid…
Editable AI: Mixed Human-AI Authoring of Code Patterns
Kartik Chugh, Andrea Y. Solis, Thomas D. LaToza
Developers authoring HTML documents define elements following patterns which establish and reflect the visual structure of a document, such as making all images in a footer the sam…
RulePad: Interactive Authoring of Checkable Design Rules
Sahar Mehrpour, Thomas D. LaToza, Hamed Sarvari
Good documentation offers the promise of enabling developers to easily understand design decisions. Unfortunately, in practice, design documents are often rarely updated, becoming…
Using Hypotheses as a Debugging Aid
Abdulaziz Alaboudi, Thomas D. LaToza
As developers debug, developers formulate hypotheses about the cause of the defect and gather evidence to test these hypotheses. To better understand the role of hypotheses in debu…
Find Unique Usages: Helping Developers Understand Common Usages
Emad Aghayi, Aaron Massey, Thomas LaToza
When working in large and complex codebases, developers face challenges using \textit{Find Usages} to understand how to reuse classes and methods. To better understand these challe…
An Exploratory Study of Writing and Revising Explicit Programming Strategies
Maryam Arab, Thomas D LaToza, Amy J Ko
Knowledge sharing plays a crucial role throughout all software application development activities. When programmers learn and share through media like Stack overflow, GitHub, Meetu…
Explicit Programming Strategies
Thomas D. LaToza, Maryam Arab, Dastyni Loksa +1
Software developers solve a diverse and wide range of problems. While software engineering research often focuses on tools to support this problem solving, the strategies that deve…
User-Interactive Machine Learning Model for Identifying Structural Relationships of Code Features
Ankit Gupta
Traditional machine learning based intelligent systems assist users by learning patterns in data and making recommendations. However, these systems are limited in that the user has…
An Exploratory Study of Live-Streamed Programming
Abdulaziz Alaboudi, Thomas D. LaToza
In live-streamed programming, developers broadcast their development work on open source projects using streaming media such as YouTube or Twitch. Sessions are first announced by a…
Supporting Software Engineering Research and Education by Annotating Public Videos of Developers Programming
Abdulaziz Alaboudi, Thomas D. LaToza
Software engineering has long studied how software developers work, building a body of work which forms the foundation of many software engineering best practices, tools, and theor…
Crowdsourced Behavior-Driven Development: Implementing Microservices through Microtasks
Emad Aghayi, Thomas D. LaToza, Paurav Surendra +1
Key to the effectiveness of crowdsourcing approaches for software engineering is workflow design, describing how complex work is organized into small, relatively independent microt…