Software systems evolve over time. Currently we do not do a good job of documenting this evolution. This essay discusses the need to better document software evolution and introdu...
Complexity arises from many sources – both within and outwith the system. Internal sources include modern hardware, e.g. super-scalar processors, and external sources include th...
Case-based reasoning systems solve new problems by retrieving and adapting the solutions to similar previously solved problems. The success and performance of any case-based reason...
User interfaces have evolved from punched cards, to text terminals, to windowing systems. As interface standards move into the third dimension, we have the opportunity to ensure t...
As a program evolves, it becomes increasingly difficult to understand and reason about changes in the source code. Eventually, if enough changes are made, reverse engineering and ...