Universität Oldenburg
Fachbereich Informatik

Publications: Details


Document Description

Author: Sergej Alekseev
Title: Graphentheoretische Methoden in der Ablaufanalyse Objekt-Orientierter Anwendungen
Kind of Publication: Dissertation. Berichte aus dem Department für 04/06, Universität Oldenburg, May 2006
Date: May 2006
Institution: Universität Oldenburg; Graphen und Netzwerke
Pages, Language 140 German
Keywords: Time Critical 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, Verification
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 because of class derivation, method overwriting and dynamic linking of 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 up to the occurrence of the error. The selection of the monitoring points in the application is based on graph-theoretical algorithms which reduce the set of positions for monitoring.

This dissertation is part of a joint research project between the Siemens AG and the University of Oldenburg. At the end of the dissertation a working prototype for analysing Java based applications will be presented. This prototype was succesfully applied during the test phase of services for intelligent networks at Siemens AG Mobile Communication.

Kurzfassung

Die Fehlersuche in großen Serverapplikationen ist eine schwierige Aufgabe, da diese Applikationen meist nebenläufig ausgeführt werden und zeitkritisch sind. Statische Codeanalyse ist oft nicht ausreichend und schrittweises Debugging ist nicht durchführbar. Die Fehlersuche wird zusätzlich erschwert, wenn die Serverprogramme in objekt-orientierten Programmiersprachen verfasst sind, da viele etablierte Techniken, wie zum Beispiel klassische Kontrollflussanalyse, wegen der Klassenableitungen, Methodenüberschreibungen und dynamischen Bindung von Code nicht mehr direkt angewandt werden können.

In dieser Dissertation werden die Grundlagen für die Überwachung von laufenden, in objektorientierten Sprachen verfassten 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 Ereignisse 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 die Menge der Positionen für die Überwachung reduzieren.

Die Dissertation wurde im Rahmen eines gemeinsamen Forschungsprojektes zwischen der Siemens AG und der Universität Oldenburg erstellt. Am Ende der Dissertation 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 der Siemens AG im Bereich Mobile Communication eingesetzt.

up

Download

up

Remarks

None.
up


Last change: 2006/02/26 (Stiege)