This thesis presents the results of two studies that investigate the question of what interruption-styles are most appropriate for end-user programmers who are debugging programs. In the studies, end-user programmers are presented with surprises that encourage them to investigate, use, and learn about debugging devices in their programming environment. We...
Guidelines for using style to improve computer program comprehension
have often been proposed without empirical testing. This thesis reports on the
results of three controlled experiments that investigated ways program style may be
used to aid comprehension of source code listings.
Experiments 1 and 2 were conducted using advanced computer...
If basic assumptions about how knowledge workers conceptualize and use work units are wrong, then any solutions resting on those assumptions are unlikely to be successful since, instead of decreasing costs, they will lead to increasing them. This paper reports on how knowledge workers understand, use and switch between units...
The art of software engineering inherently requires high-level problem solving and perseverance, as programmers and designers wrestle with complex design and implementation challenges in the process of turning loose concepts and ideas into working code. In the current developer ecosystem, engineers are commonly incentivized extrinsically by monetary rewards, approval or...
Open Source Software (OSS) communities are homogenous and their lack of diversity is of concern to many within this field. This problem is becoming more pronounced as it is the practice of many technology companies to use OSS participation as a factor in the hiring process, disadvantaging those who are...
End-user programmers are writing an unprecedented number of programs, due in large part to the significant effort put forth to bring programming power to end users. Unfortunately, this effort has not been supplemented by a comparable effort to increase the correctness of these often faulty programs. To address this need,...
Free and open source software (FOSS) projects primarily rely on the efforts of volunteer contributors from around the world. For this reason, recruiting and retaining contributor is vital to the sustainability and growth of FOSS projects. This notion became the jumping-off point for this three-part investigation into the cultural structure...
One of the least studied areas of Information Foraging Theory
is diet: the information foragers choose to seek. For
example, do foragers choose solely based on cost, or do
they stubbornly pursue certain diets regardless of cost? Do
their debugging strategies vary with their diets? To investigate
"what" and "how"...
End users' programs are fraught with errors, costing companies millions of dollars. One reason may be that researchers and tool designers have not yet focused on end-user debugging strategies. To investigate this possibility, this dissertation presents eight empirical studies and a new strategy-based end-user debugging tool for Excel, called StratCel....
Programmers spend a substantial fraction of their debugging time by navigating
through source code, yet little is known about how programmers navigate. With the
continuing growth in size and complexity of software, this fraction of time is likely to
increase, which presents challenges to those seeking both to understand and...