2 research outputs found
Recommended from our members
Dynamic, incremental assertion propagation in end-user programming
End-user programming is growing at a rapid rate, but there has been little in the way of tools or environments to improve the correctness of programs created by end users. We present an approach to dynamic assertions in one of the most widely used end-user programming paradigms - namely the spreadsheet paradigm. Our approach does not assume any formal knowledge of, or interest in, software engineering practices. Dynamic assertions, which can be entered incrementally, feature deductive propagation from user-entered assertions through spreadsheet formulas. These propagated dynamic assertions can then be compared with other user-entered
dynamic assertions and - in the event of a conflict - alert the user to the possibility
of a bug in the spreadsheet formulas. Deductive propagation, however, is not necessarily viable in all situations. We present algorithms for a set of spreadsheets that obey a particular set of restrictions, and evaluate these algorithms in regard to four properties: Reliability, Correctness, Responsiveness and Usefulness. We present lower bounds on the classification of the propagation problem for the case where When propagation is not viable. We
also empirically examine the occurrence of these difficult situations in a corpus of real-world spreadsheets, determining that our approach is capable of propagation through common situations present in real-world spreadsheets
Recommended from our members
Interactive, visual fault localization support for end-user programmers
End-user programmers are writing an unprecedented number of programs, primarily using languages and environments that incorporate a number of interactive and visual programming techniques. To help these users debug these programs, we have developed an entirely visual, interactive approach to fault localization. This paper presents the approach. We also present the results of a think-aloud study that examined the interactive, human-centric issues that arise in end-user debugging using a fault localization strategy. Our results provide insights into the contributions such strategies can make to the end-user debugging process.Keywords: visual fault localization, debugging, end-user software engineering, slicing, form-based visual programs, testing, end-user programmin