Linda M. Wills

Learn More
Psychological experiments have shown that programmers tend to use the same structure over and over. The authors call these commonly used programming structures 'cliches'. They describe a prototype, the Recognizer, that automatically finds all occurrences of a given set of cliches in a program and builds a hierarchical description of the program in terms of(More)
This paper is concerned with the units of knowledge used in understanding programs. A pilot study was conducted wherein a short, but complex, program was examined looking for “knowledge atoms,” the units from which program understanding is built. The resulting atoms were categorized along three orthogonal axes of knowledge type, design decision used, and(More)
Margaret Boden, a master at bringing ideas from artificial intelligence and cognitive science to the masses, has done it again. In The Creative Mind, she has produced a wellwritten, well-argued review and synthesis of current computational theories relevant to creativity. This book seems appropriately pitched for students in survey courses and for the(More)
Automated video surveillance applications require accurate separation of foreground and background image content. Cost sensitive embedded platforms place realtime performance and efficiency demands on techniques to accomplish this task. In this paper we evaluate pixel-level foreground extraction techniques for a low cost integrated surveillance system. We(More)
This paper describes an interactive animation tool, SATSim, which conveys superscalar architecture concepts. It has been used in an advanced undergraduate computer architecture course to visualize the complicated behavioral patterns of superscalar architectures, such as out-of-order execution, in-order commitment, and the impact of branch mispredictions and(More)
Case-based reasoning (CBR) has a great deal to ooer in supporting creative design, particularly processes that rely heavily on previous design experience , such as framing the problem and evaluating design alternatives. However, most existing CBR systems are not living up to their potential. They tend to adapt and reuse old solutions in routine ways,(More)
Program understanding is an essential part of software maintenance and enhancement activities that relates a computer program to the goals and requirements it is designed to accomplish. Understanding techniques that rely only on source-code analysis are limited in their ability to derive this relationship. Application-domain analysis is another source of(More)