Event Details

Theories of Cognitive Support for Software Engineering Tools

Presenter: Andrew Walenstein - Simon Fraser University - Faculty Applicant
Supervisor: Dr. R. Nigel Horspool - Chair, Department of Computer Science

Date: Wed, April 3, 2002
Time: 10:30:00 - 11:30:00
Place: Engineering Office Wing (EOW), Room # 430

ABSTRACT

ABSTRACT:

Software is notoriously hard to develop. Much of the difficulty comes from the mental challenges: software can be large and complex and difficult to construct, understand and manage. Good software engineering tools reduce these cognitive difficulties. How is this reduction actually achieved? Software engineering tools have historically been difficult to evaluate and compare, especially regarding their effects on the engineers actually using them. If we are to evaluate and compare our engineering tools scientifically, and if we are to build good ones systematically, then we need to understand the principles for assisting the mental work of developers: we need theories of cognitive support.

In this talk, I will describe work done to establish a theoretical basis cognitive support, and to systematize design knowledge about how to build cognitive support in software engineering tools. At the center of this effort are novel application-oriented theories. A theory called RODS will be introduced. RODS captures fundamental principles for supporting cognition with tools. Using RODS and models of developer cognition, I built a hierarchy of 13 different types of cognitive support arranged into three main groups. This hierarchy has been used to catalog the types of support in two reverse engineering tools, and was used in a field study to measure the amount of support provided by a commercial programming environment. The results of this work suggest that theories like RODS will make it possible to specify, design, and then verify cognitive support. They also present an opportunity to mine and then codify patterns of good design.