Computer Science and
     Software Engineering

Computer Science and Software Engineering

TR-COSC 04/06

Supporting OO Design Heuristics

Neville Churcher, Sarah Frater, Cong Phuoc Huynh and Warwick Irwin
Department of Computer Science
University of Canterbury

Abstract

Heuristics have long been recognised as a way to tackle problems which are intractable because of their size or complexity. They have been used in software engineering for purposes such as identification of favourable regions of design space. Some heuristics in software engineering can be expressed in high-level abstract terms while others are more specific. Heuristics tend to be couched in terms which make them hard to automate. In our previous work we have developed robust semantic models of software in order to support the computation of metrics and the construction of visualisations which allow their interpretation by developers. In this paper, we show how software engineering heuristics can be supported by a semantic model infrastructure. Examples from our current work illustrate the value of combining the rigour of a semantic model with the human mental models associated with heuristics.