Uni Passau

OPUS - Passau

Bibliographische Daten und PDF-Volltexte aus der Universität Passau
... die Wissenschaft der Hochschule sichtbar machen!

Home Suchen Melden Veröffentlichen Hilfe Kontakt
OPUS-Frontdoor

Krinke, Jens

Advanced Slicing of Sequential and Concurrent Programs


Open Access: Freier Zugang zum Volltext!

pdf-Format:
Dokument 1.pdf (2.731 KB)

Bookmark bei Connotea Bookmark bei del.icio.us
SWD-Schlagwörter: Programmanalyse, Programmtransformation, Software Engineering, Reengineering / Software, Softwarewartung
Freie Schlagwörter (Englisch): program analysis, program slicing, software reengineering
Beteiligte Einrichtung: Mitarbeiter Lehrstuhl/Einrichtung der Fakultät für Informatik und Mathematik
Fakultät: Fakultät für Informatik und Mathematik
DDC-Sachgruppe: Informatik
Dokumentart: Dissertation
Hauptberichter: Snelting, Gregor (Prof. Dr.)
Sprache: Englisch
Tag der mündlichen Prüfung: 18.08.2003
Erstellungsjahr: 2003
Publikationsdatum: 10.08.2004
Kurzfassung auf Englisch: Program slicing is a technique to identify statements that may
influence the computations in other statements. Despite the ongoing
research of almost 25 years, program slicing still has problems that
prevent a widespread use: Sometimes, slices are too big to understand
and too expensive and complicated to be computed for real-life
programs. This thesis presents solutions to these problems: It
contains various approaches which help the user to understand a slice
more easily by making it more focused on the user's problem. All of
these approaches have been implemented in the VALSOFT system and
thorough evaluations of the proposed algorithms are presented.

The underlying data structures used for slicing are program dependence
graphs. They can also be used for different purposes: A new approach
to clone detection based on identifying similar subgraphs in program
dependence graphs is presented; it is able to detect modified clones
better than other tools.

In the theoretical part, this thesis presents a high-precision
approach to slice concurrent procedural programs despite that optimal
slicing is known to be undecidable. It is the first approach to slice
concurrent programs that does not rely on inlining of called
procedures.
Kurzfassung auf Deutsch: Program Slicing ist eine Technik zur Identifikation von Anweisungen,
die andere Anweisungen beeinflussen können. Trotz seit nunmehr 25
Jahren anhaltender Forschung hat Program Slicing immer noch Probleme,
die eine verbreitete Benutzung verhindern: Slices können zu groß oder
zu unverständlich werden, oder ihre Berechnung kann zu teuer oder zu
kompliziert für echte Programme sein. Diese Dissertation präsentiert
Lösungen und Auswege aus diesen Problemen. Sie enthält einerseits
eine Reihe von Slicing-Verfahren unterschiedlicher Präzision und
Geschwindigkeit. Andererseits enthält sie verschiedenste Verfahren,
die dem Benutzer helfen, Slices leichter zu verstehen indem die
berechneten Slices mehr auf seine Bedürfnisse fokussiert werden. Alle
vorgestellten Verfahren wurden im VALSOFT-System implementiert und
gründlich evaluiert.

Die dem Slicing zugrunde liegende Datenstruktur sind
Programmabhängigkeitsgraphen. Diese können auch für andere
Anwendungen benutzt werden: Ein neues Verfahren zur Entdeckung von
dupliziertem Code identifiziert ähnliche Teilgraphen in
Programmabhängigkeitsgraphen. Dieses Verfahren kann modifizierte
Duplikate besser erkennen als andere Verfahren.

Auf der theoretischen Seite präsentiert diese Dissertation ein
hochpräzises Verfahren zum Slicing nebenläufiger prozeduraler
Programme, wobei optimales Slicing bekannterweise nicht entscheidbar
ist. Dieses Verfahren ist das erste zum Slicen nebenläufiger
Programme, das nicht auf Inlining aufgerufener Prozeduren
zurückgreift.


Hinweis zum Urheberrecht

URN: http://nbn-resolving.de/urn:nbn:de:bvb:739-opus-375
URL dieser Seite: http://www.opus-bayern.de/uni-passau/volltexte/2004/37/


Home Suchen Melden Veröffentlichen Hilfe Kontakt
  OpenAccess logo   OAI2.0 logo   © Universitätsbibliothek Passau · Innstrasse 29 · 94032 Passau 
Tel. (0851) 509 1645 · Fax (0851) 509 1602 ·  Mail opus@uni-passau.de
22.10.10