next up previous
Next: Individual Research Up: b) Computer Software Previous: Integrated Protocol Engineering

Computer-Aided Software Maintenance

Software maintenance is often the most expensive phase in a software system life-cycle, taking typically about 50-80% of the total development costs. Therefore even modest improvements in the maintenance process may result in significant benefits in the long run.

The goal ot the research is to develop a tool supporting typical software maintenance tasks such as debugging, side-effect analysis, and regression testing. The tool, called HyperSoft is based on the combination of static program analysis and hypertext. First the target program is analyzed, and an internal (partial) representation is constructed for it. Then hypertextual access structures are generated on the basis of interactive specifications from the user. Finally the access structures are shown in a graphical user interface making it possible to systematically navigate in the program and to modify it.

A prototype of HyperSoft has been implemented, mostly in C++. The prototype supports the maintenance of C programs, but the developed method and system architecture are rather independent of any particular target language. An extension into C-embedded SQL is currently under design and implementation.

The project is jointly carried out at the Department of Computer Science, University of Helsinki (UH), and at the Department of Computer Science and Information Systems, University of Jyväskylä (UJ). The researchers are Assoc. prof. Jukka Paakki (UH), Prof. Airi Salminen (UJ), M.Sc. Jussi Koskinen (UJ), and M.Sc. Mika Nieminen (UJ). The project is financed during 1994-96 by Technology Development Centre (TEKES), Academy of Finland, Nokia Research Center, KT-Tietokeskus, TT-Tieto, and TT-Kuntapalvelut.

Publications: [47-49].