Universität Oldenburg
Fachbereich Informatik

Publications: Details


Document Description

Author: Sergej Alekseev and Johannes Wust
Title: Graph Theoretical Methods in the Control Flow Analysis of Object Oriented Real Time Software
Kind of Publication: Report. Berichte aus dem Department für Informatik 01/05, Universität Oldenburg, March 2005
Date: March 2005
Institution: Universität Oldenburg; Graphen und Netzwerke
Pages, Language 42, English
Keywords: Real Time System, Control Flow, Object Oriented Program
CR Classification: E.1 [Data Structures]: Graphs and Networks; J.7 [Computers in other systems]: Real Time; D.2.5 [Testing and Debugging]
General Terms (ACM): Algorithms
up

Abstract

Debugging large server applications is a cumbersome task as the execution of these applications is concurrent and time-critical. Static code analysis is often not sufficient to find an error and step-by-step debugging is not feasible. The problem becomes even worse if the server applications are written in object-oriented languages because established techniques, like classical control flow analysis, are not directly applicable to object-oriented code.

In this paper we present the basics for the realization of online monitoring of large server applications written in object-oriented languages. The idea of the proposed solution is to instrument the application on significant points with event functions and to log these events asynchronously during execution. In case of a faulty behaviour the recorded events can be used for reconstuction of the executed control flow until the occurrence of the error. The selection of the monitoring points in the application is based on graph-theoretical algorithms which find an optimal set of places for event functions.

This report deals with results from a joint research project between the Siemens AG and the University of Oldenburg. At the end of the report we present a working prototype for analysing Java based applications. This prototype was succesfully applied during the test phase of services for intelligent networks at Siemens AG Mobile Comunication.

Kurzfassung

Die Fehlersuche in grossen Serverapplikationen ist eine schwierige Aufgabe, da diese meist nebenläufig ausgeführt werden und zeitkritisch sind. Statische Codeanalyse ist oft nicht ausreichend, um Fehler zu finden und schrittweises Debugging ist nicht durchfürbar. Die Fehlersuche wird zusätzlich erschwert, wenn die Serverprogramme in objekt-orientierten Programmiersprachen verfasst sind, da viele etablierte Techniken, wie zum Beispiel klassische Kontrollflussanalyse, nicht mehr direkt angewandt werden können.

In diesem Bericht werden die Grundlagen für die Überwachung laufender, in objekt-orientierten Sprachen verfasster Serverapplikationen präsentiert. Das Konzept der hier vorgestellten Lösung beruht auf der Instrumentierung des Programmcodes mit Ereignisfunktionen an bestimmten Stellen und auf der asynchronen Protokollierung dieser Ereignise während der Ausführung. Bei fehlerhaftem Verhalten kann aus diesen protokollierten Ereignissen der Kontrollfluss bis zur fehlerhaften Stelle in der Applikation rekonstruiert werden. Die Auswahl der Positionen für die Ereignisfunktionen basiert auf graphentheoretischen Algorithmen, die eine opimale Menge von Stellen ermitteln.

Der folgende Bericht stellt Ergebnisse eines gemeinsamen Forschungsprojektes zwischen der Siemens AG und der Universität Oldenburg vor. Am Ende des Berichts wird ein lauffähiger Prototyp für die Analyse von Java-basierter Software vorgestellt. Dieser wurde erfolgreich in der Testphase von Diensten intelligenter Netze bei Siemens AG im Bereich Mobile Comunication eingesetzt.

up

Download

up

Remarks

None.
up


Last change: 2006/02/26 (Stiege)