Jussi Koskinen

HyperSoft: Automated Hypertext Support for Software Maintenance

Computer Science and Information Systems Reports, Technical Reports TR-13. University of Jyväskylä, Dept. of Computer Science and Information Systems, Jyväskylä, Finland. June 1996. 132 p. ISBN 951-34-0829-9 (Licentiate thesis in Computer Science).

 

Abstract

The HyperSoft approach to software maintenance support is based on the automatic generation of hypertextual access structures. The approach makes it possible to represent program text (source code) as hypertext. The HyperSoft model separates the source code, syntactic, access structure and user interface levels. The syntactic structure is a parse tree with respect to the grammar of the programming language to be supported. The access structures are graphs or hypergraphs. The generation of the access structures is initiated by the dynamic information requests of the user and they are generated automatically based on various program analysis techniques. The access structures are composed of program parts bound together based on program dependencies. A relational characterization of program dependencies is given to capture their essence and to support the process of forming useful access structures. The classification is based on considering dependencies as relations between text parts. As experimental software maintenance support tool, HyperSoft,1 has been constructed to demonstrate the practical usability of these ideas. The implementation of the system has been guided by the representatives of four of the largest software houses in Finland. The target language, C, and the hypertextual access structures implemented have been selected based on the needs of these enterprises. The architecture of the system is layered so that the generation of the static and dynamic structures is separated from their representation to the user. Static information is stored in the program database during the original parsing. Based on this information are created dynamic hypertextual access structures using program analysis techniques. The access structures help the software maintainer to concentrate his or her attention on the program parts which are relevant to the current software maintenance situation, and to browse through the program text by following the hypertextual links formed by the HyperSoft system. The access structures implemented include the occurrence lists of variables and functionss, calling structures, and program slices. Static forward slicing, which is most useful in adaptive maintenance and impact analysis, has been developed to the interprocedural level. Program text is represented to the user as textual, hypertextual, and graphical views. Slices, like all access structures, are represented as embedded into the original program text.

 

Keywords: CASE (Computer Assisted/Aided Software Engineering), hypertext, program comprehension, program dependencies, reverse engineering, slicing, software maintenance

 

Related information: The degree of Ph.Lic. (KTL) was approved on 21.11.1996 by the Faculty of Social Sciences. The licentiate thesis was approved with grade eximia cum laude approbatur. Scientific studies on Information System Science were graded as excellent.

 

1 The HyperSoft system has been implemented as a part of the HyperSoft-project (TEKES #4429/94).

 

Updated: Sept. 8, 2005 by Jussi Koskinen.