Papers
Fixing the Program My Computer Learned: Barriers for End Users, Challenges for the Machine
The results of a machine learning from user behavior can be thought of as a program, and like all programs, it may need to be debugged. Providing ways for the user to debug it matters, because without the ability to fix errors users may find that the learned program's errors are too damaging for them to be able to trust such programs. We present a new approach to enable end users to debug a learned program. We then use an early prototype of our new approach to conduct a formative study to determine where and when debugging issues arise, both in general and also separately for males and females. The results suggest opportunities to make machine-learned programs more effective tools.
Can Feature Design Reduce the Gender Gap in End-User Software Development Environments?
Recent research has begun to report that female end- user programmers are often more reluctant than males to employ features that are useful for testing and de- bugging. These earlier findings suggest that, unless such features can be changed in some appropriate way, there are likely to be important gender differences in end-user programmers’ benefits from these features. In this paper, we compare end-user programmers’ feature usage in an environment that supports end-user debugging, against an extension of the same environ- ment with two features designed to help ameliorate the effects of low self-efficacy. Our results show ways in which these features affect female versus male end- user programmers’ self-efficacy, attitudes, usage of testing and debugging features, and performance.
End-User Software Engineering and Distributed Cognition
End-user programmers may not be aware of many software engineering practices that would add greater discipline to their efforts, and even if they are aware of them, these practices may seem too costly (in terms of time) to use. Without taking advantage of at least some of these practices, the software these end users create seems likely to continue to be less reliable than it could be. We are working on several ways of lowering both the perceived and actual costs of systematic software engineering practices, and on making their benefits more visible and immediate. Our approach is to leverage the user’s cognitive effort through the use of distributed cognition, in which the system and user collaboratively work systematically to reason about the program the end user is creating. This paper demonstrates this concept with a few of our past efforts, and then presents three of our current efforts in this direction.

Like
Add Comment