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....
Debugging, the process of locating and correcting errors in a computer
program, is a common programming task that is not well understood. Of the
several debugging studies reported in the literature, most compared the performance
differences between expert and novice programmers by measuring
their debug time and the number of...
End users develop more software than any other group of programmers, using software authoring devices such as e-mail filtering editors, by-demonstration macro builders, and spreadsheet environments. Despite this, there has been only a little research on finding ways to help these programmers with the dependability of the software they create....
End-user programmers, because they are human, make mistakes. However, past research has not considered how visual end-user debugging devices could be designed to ameliorate the effects of mistakes. This paper empirically examines oracle mistakes mistakes users make about which values are right and which are wrong to reveal differences in...
Mutation analysis is often used to compare the effectiveness of different test suites or testing techniques. One of the main assumptions underlying this technique is the Competent Programmer Hypothesis, which proposes that programs are very close to a correct version, or that the difference between current and correct code for...
For the past thirty years the majority of the
research on the cognitive demands of learning computer
programming has assumed that successful computer
programmers display certain aptitudes. Some
researchers indicate that studies linking different
prerequisite profiles of abilities to different
programming outcomes are needed. Such research might
dispel many of...
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...
In previous work, the Idea Garden was created to help those relatively new to programming overcome their barriers in CoScripter. The goal of this thesis was to generalize the Idea Garden's success to other users and environments. We present a set of principles on how to help EUPs like this...
End-user programming has become widespread. The increasing size of this population and the prevalence of barriers that they face has sparked the development of approaches that promote end-user programing by helping them overcome barriers and teaching them programming. Despite the fact that these approaches have done well in achieving those...
Professional software engineers have an arsenal of techniques such as unit testing and assertions to check their specifications, but these techniques require tools, motivation, experience and training that programmers without professional software engineering training may not have. As a result, professionals in other fields, such as scientific modelers, face greater...