Results 1 - 10
of
15
Adding Apples and Oranges
- In 4th Int. Symp. on Practical Aspects of Declarative Languages, LNCS 2257
, 2002
"... We define a unit system for end-user spreadsheets that is based on the concrete notion of units instead of the abstract concept of types. Units are derived from header information given by spreadsheets. ..."
Abstract
-
Cited by 45 (21 self)
- Add to MetaCart
We define a unit system for end-user spreadsheets that is based on the concrete notion of units instead of the abstract concept of types. Units are derived from header information given by spreadsheets.
End-User Software Engineering with Assertions in the Spreadsheet Paradigm
- In International Conference on Software Engineering
, 2003
"... There has been little research on end-user program development beyond the activity of programming. Devising ways to address additional activities related to end-user program development may be critical, however, because research shows that a large proportion of the programs written by end users cont ..."
Abstract
-
Cited by 25 (16 self)
- Add to MetaCart
There has been little research on end-user program development beyond the activity of programming. Devising ways to address additional activities related to end-user program development may be critical, however, because research shows that a large proportion of the programs written by end users contain faults. Toward this end, we have been working on ways to provide formal "software engineering" methodologies to end-user programmers. This paper describes an approach we have developed for supporting assertions in end-user software, focusing on the spreadsheet paradigm. We also report the results of a controlled experiment, with 59 end-user subjects, to investigate the usefulness of this approach. Our results show that the end users were able to use the assertions to reason about their spreadsheets, and that doing so was tied to both greater correctness and greater efficiency.
End-User Software Engineering with Assertions
- In International Conference on Software Engineering
, 2002
"... There has been little research on end-user program development beyond the activity of programming. Devising ways to address additional activities related to end-user program development may be critical, however, because research shows that a large proportion of the programs written by end users cont ..."
Abstract
-
Cited by 19 (4 self)
- Add to MetaCart
There has been little research on end-user program development beyond the activity of programming. Devising ways to address additional activities related to end-user program development may be critical, however, because research shows that a large proportion of the programs written by end users contain faults. Toward this end, we have been working on ways to provide formal "software engineering" methodologies to end-user programmers. This paper describes an approach we have developed for supporting assertions in end-user software, focusing on the spreadsheet paradigm. We also report the results of a controlled experiment, with 59 end-user subjects, to investigate the usefulness of this approach. Our results show that the end users were able to use the assertions to reason about their spreadsheets, and that doing so was tied to both greater correctness and greater efficiency.
Incorporating incremental validation and impact analysis into spreadsheet maintenance: An empirical study
- In Proceedings of the International Conference on Software Maintenance
, 2001
"... Spreadsheet language programs, which include commercial spreadsheets, are among the most common form of software in use today. Unlike more "traditional " forms of software however, spreadsheet language programs are created and maintained by end-users with little or no programming experienc ..."
Abstract
-
Cited by 18 (16 self)
- Add to MetaCart
Spreadsheet language programs, which include commercial spreadsheets, are among the most common form of software in use today. Unlike more "traditional " forms of software however, spreadsheet language programs are created and maintained by end-users with little or no programming experience. As a result, a high percentage of these programs contain errors. Unfortunately, software engineering research has for the most part ignored this problem. We have developed a methodology that is designed to aid end-users in developing, testing, and maintaining spreadsheet language programs. The methodology communicates testing information and information about the impact of cell changes to users in a manner that does not require an understanding of formal testing theory or the behind the scenes mechanisms. This paper presents the results of an empirical study that shows that, during maintenance, end-users using our methodology were more accurate in making changes and did a significantly better job of validating their spreadsheets than end-users without the methodology.
Interactive, visual fault localization support for end-user programmers
- Journal of Visual Languages and Computing
"... 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 l ..."
Abstract
-
Cited by 15 (7 self)
- Add to MetaCart
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.
End-User Assertions: Propagating Their Implications
, 2002
"... interpretation is commonly used as a program analysis tool to provide optimization information at compile time, and not to enhance programmer understanding. Many programmers might not find information such as the strictness or mode of parameters to be useful for program comprehension, testing or deb ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
interpretation is commonly used as a program analysis tool to provide optimization information at compile time, and not to enhance programmer understanding. Many programmers might not find information such as the strictness or mode of parameters to be useful for program comprehension, testing or debugging tasks. The method of propagating assertions outlined here is not intended to improve execution speed, but to improve (end-user) programmer understanding, and program correctness. By involving the user in the specification of the initial assertions, we hope to derive information that is useful to the user, as opposed to the computer.
The State of the Art in End-User Software Engineering
"... Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals for which they need computational support. For example, a teacher might write a grading spreadsheet to save time grading, or an interaction designer might use ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals for which they need computational support. For example, a teacher might write a grading spreadsheet to save time grading, or an interaction designer might use an interface builder to test some user interface design ideas. Although these end-user programmers may not have the same goals as professional developers, they do face many of the same software engineering challenges, including understanding their requirements, as well as making decisions about design, reuse, integration, testing, and debugging. This article summarizes and classifies research on these activities, defining the area of End-User Software Engineering (EUSE) and related terminology. The article then discusses empirical research about end-user software engineering activities and the technologies designed to support them. The article also addresses several crosscutting issues in the design of EUSE tools, including the roles of risk, reward, and domain complexity, and self-efficacy
Integrating automated test generation into the WYSIWYT spreadsheet testing methodology
- ACM TRANS. SOFTW. ENG. METHODOL
, 2006
"... Spreadsheet languages, which include commercial spreadsheets and various research systems, have had a substantial impact on end-user computing. Research shows, however, that spreadsheets often contain faults. Thus, in previous work, we presented a methodology that helps spreadsheet users test their ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Spreadsheet languages, which include commercial spreadsheets and various research systems, have had a substantial impact on end-user computing. Research shows, however, that spreadsheets often contain faults. Thus, in previous work, we presented a methodology that helps spreadsheet users test their spreadsheet formulas. Our empirical studies have shown that end users can use this methodology to test spreadsheets more adequately and efficiently; however, the process of generating test cases can still represent a significant impediment. To address this problem, we have been investigating how to incorporate automated test case generation into our testing methodology in ways that support incremental testing and provide immediate visual feedback. We have utilized two techniques for generating test cases, one involving random selection and one involving a goal-oriented approach. We describe these techniques and their integration into our testing environment, and report results of an experiment examining their effectiveness and efficiency.
Interactive fault localization techniques in a spreadsheet environment
- IEEE Trans. Soft. Eng
, 2006
"... End-user programmers develop more software than any other group of programmers, using software authoring devices such as multimedia simulation builders, e-mail filtering editors, by-demonstration macro builders, and spreadsheet environments. Despite this, there has been only a little research on fin ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
End-user programmers develop more software than any other group of programmers, using software authoring devices such as multimedia simulation builders, 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. We have been working to address this problem in several ways, one of which includes supporting end-user debugging activities through interactive fault localization techniques. This article investigates fault localization techniques in the spreadsheet domain, the most common type of end-user programming environment. We investigate a technique previously described in the research literature, and two new techniques. We present the results of an empirical study to examine the impact of two individual factors on the effectiveness of fault localization techniques. Our results reveal several insights into the contributions such techniques can make to the end-user debugging process, and highlight key issues of interest to researchers and practitioners who may design and evaluate future fault localization techniques.
Interactive fault localization techniques to empower the debugging efforts of end-user programmers
, 2004
"... 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 th ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
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. We have been working to address this problem in several ways, one of which includes supporting end-user debugging activities through interactive fault localization techniques. This thesis investigates these fault localization techniques in the realm of end-user programming. We investigate a technique previously described in the research literature, and two new techniques that are introduced in this thesis. This thesis also presents the results of two empirical studies to examine whether fault localization techniques are effective in end-user testing and debugging tasks. The first study compares how well the three techniques isolate the faults in two end-user programs. The second study examines the impact of two orthogonal factors on the effectiveness of fault localization techniques. Our results reveal several insights into the contributions such techniques can make to the end-user debugging process, and highlight key issues of interest to researchers and practitioners who may design and evaluate future fault localization techniques. CHAPTER 1

