• Publications
  • Influence
An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks
TLDR
A study was performed in which developers were given an unfamiliar program and asked to work on two debugging tasks and three enhancement tasks for 70 minutes, suggesting a new model of program understanding grounded in theories of information foraging.
Information Needs in Collocated Software Development Teams
TLDR
This work analyzed software developers' day-to-day information needs at a large software company and transcribed their activities in go-minute sessions to identify information types and cataloged the outcome and source when each type of information was sought.
Let's go to the whiteboard: how and why software developers use drawings
TLDR
Findings from semi-structured interviews that have been validated with a structured survey show that most of the diagrams had a transient nature because of the high cost of changing whiteboard sketches to electronic renderings.
The state of the art in end-user software engineering
TLDR
This article summarizes and classifies research on end-user software engineering activities, defining the area of End-User Software Engineering (EUSE) and related terminology, and addresses several crosscutting issues in the design of EUSE tools.
Designing the whyline: a debugging interface for asking questions about program behavior
TLDR
The Whyline is a prototype Interrogative Debugging interface for the Alice programming environment that visualizes answers in terms of runtime events directly relevant to a programmer's question.
Six Learning Barriers in End-User Programming Systems
TLDR
A study of beginning programmers learning Visual Basic.NET identified six types of barriers, which inspire a new metaphor of computation, which provides a more learner-centric view of programming system design.
Examining task engagement in sensor-based statistical models of human interruptibility
TLDR
This work examines task engagement by studying programmers working on a realistic programming task and builds a statistical model of interruptibility that can support a reduction in costly interruptions while still allowing systems to convey notifications in a timely manner.
Natural programming languages and environments
TLDR
The goal is to make it possible for people to express their ideas in the same way they think about them, and to achieve this, the team has performed various studies about how people think about programming tasks, and developed new tools for programming and debugging.
Programming, Problem Solving, and Self-Awareness: Effects of Explicit Guidance
TLDR
An explicit instruction on programming problem solving, which frames coding as a process of translating mental representations of problems and solutions into source code, and a method of visualizing and monitoring progression through six problem solving stages are presented.
...
1
2
3
4
5
...