This paper takes a first step toward formalizing the concept of affordance in user interfaces. Using a simple example of an AI planning domain, we show how different types of aff...
This paper presents an overview of the DIME environment (DIrect Manipulation Environment) being developed by the author. The paper presents the DIME vision, its catalogue of evolu...
Types are a good starting point for various software reengineering tasks. Unfortunately, programs requiring reengineering most desperately are written in languages without an adeq...
The design of a class hierarchy may be imperfect. For example, a class C may contain a member m not accessed in any C-instance, an indication that m could be eliminated, or moved ...
This paper presents a model of change propagation during software maintenance and evolution. Change propagation is modeled as a sequence of snapshots, where each snapshot represen...