|
|
| 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 |
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.
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.
|
Last change: 2006/02/26 (Stiege) |