12 research outputs found
A User Interface for the Visualization and Manipulation of Arrays
The success of spreadsheets has shown that a visual representation of a 2D array greatly facilitates solving certain problems. However, spreadsheets are not general-purpose programming environments and are not suited to many problems that might naturally be solved using multi-dimensional arrays. Furthermore, spreadsheets employ a textual notation for cell references in formulas. This notation, which adds to the programmer\u27\u27s burden by distinguishing between relative and absolute addressing, can be difficult to understand and is error-prone even for the most experienced users. In this paper, we present a user interface for multi-dimensional arrays within Formulate, a form-based visual programming language. This implementation avoids textual array notation and supports the application of formulas to logical regions of an array, rather than just to individual elements
Keyboardless Visual Programming Using Voice, Handwriting, and Gesture
Visual programming languages have facilitated the application development process, improving our ability to express programs, as well as our ability to view, edit and interact with them. Yet even in programming environments, productivity is restricted by the primary input sources: the mouse and the keyboard. As an alternative, we investigate a program development interface which responds to the most natural human communication technologies: voice, handwriting and gesture. Speech- and pen-based systems have yet to find broad acceptance in everyday life because they are insufficiently advantageous to overcome problems with reliability. However, we believe that a visual programming environment with a multimodal user interface properly constrained so as not to exceed the limits of the current technology has the potential to increase programming productivity for not only those people who are manually or visually impaired, but for the general population as well. In this paper we report on such a system
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
Recommended from our members
An integrated testing and fault localization methodology for spreadsheet languages
Spreadsheet languages, which include commercial spreadsheets and various research systems, have proven to be flexible tools in many settings. Research shows, however, that spreadsheets often contain faults. This thesis presents an integrated testing and fault localization methodology for spreadsheets. This methodology allows spreadsheet developers to engage in modeless development,
testing and debugging activities. Furthermore, we provide an interface to our methodology that does not require an understanding of testing and debugging theory. To accomplish this, we introduce the notion of fault likelihood: the likelihood
that a given cell contains a fault that contributes to an known failure in the spreadsheet. To estimate fault likelihood we present five properties that we feel should govern its behavior. We then discuss our implementation of this methodology and illustrate its use
Recommended from our members
Regression testing methodologies for spreadsheet languages
Spreadsheet languages are widely used by end users for many different purposes. Previous research shows that spreadsheets often contain faults. To help end users test their spreadsheets, in previous research, a testing methodology for spreadsheets has been developed. Th.is methodology is supported by an automatic test case generation (ATCG) methodology. These methodologies help end users develop tests for their spreadsheets. After a spreadsheet is changed, however, it must be re-tested, and tests and debug information previously established for that spreadsheet are often still valuable for this retesting. This leads us to consider a regression testing methodology for spreadsheets, in which prior tests and test information are reused. Examining existing work on regression testing, however, we find that research in this field is directed at imperative languages and no discussion exists addressing regression testing for spreadsheet languages. To address this lack, in this project, we developed several regression testing methodologies for spreadsheet languages including two retest all approaches (which reuse an tests) and two selective retest approaches (which selectively reuse tests). We have prototyped our regression testing methodologies for spreadsheet languages and implemented them in the research spreadsheet language, Forms/3. Our methodologies support the incremental testing and regression testing of spreadsheets and operate seamlessly behind the scenes. To evaluate the feasibility of using our methodologies in retesting spreadsheets, we conducted a case study. The results of our study show that the two selective retest approaches were much more efficient than ATCG and the two retest all approaches, and they were also very effective. The results also suggest directions for future studies of our methodologies