Research Overview

My research activity is concentrated in the area of Software Engineering, and in particular Software Maintenance. I am one of the founder members and a director of the Centre for Software Maintenance (CSM), established at Easter of 1987 within the Department of Computer Science, University of Durham. The CSM is the first research centre in the world to be established by a group of academics concentrating on the problems of maintaining software. It is now recognised by academics from Europe, USA and Japan, and by practitioners from industry as the leading research centre in software maintenance worldwide. The CSM has received two international awards for their research from the Arthur Anderson Foundation and the Software Maintenance Association, both based in the USA.

Within the CSM academic staff collaborate to form an overall strategy for research into software maintenance with individual members pursuing their own particular lines of research. This allows a greater breath of research to be done and allows some degree of cooperative research to be carried out whilst at the same time keeping academic independence and freedom.

The main thrust of my own research within the CSM is to develop methods, techniques and tools to enable software engineers to deal with existing, continually evolving, software systems. The particular themes of software maintenance I am researching into are Reverse Engineering, Program Comprehension, Software and System Visualisation, Documentation for Maintenance, Reuse/Re-engineering, and Impact Analysis.

Some of the current results of my research, all published in refereed journals and conferences, are:

The long term vision for my research is that each of the research themes will be drawn together to into a single thread enabling the software industry to exploit its existing resources in a more productive manner. This will be achieved by utilising the results of the research as follows:

A longer term aim is to provide mechanisms for software developers to be able to develop software that will be truly evolutionary.

To achieve the aims of my research I am leading research groups in the themes stated above:

All of the above themes are inter-related in that they require the development of analysis tools, a representation of information, and a method for exploitation of that information.