Logo des Repositoriums
 
Konferenzbeitrag

Parallelitätsanalyse für Slicing von Java Threads

Lade...
Vorschaubild

Volltext URI

Dokumententyp

Text/Conference Paper

Zusatzinformation

Datum

2005

Zeitschriftentitel

ISSN der Zeitschrift

Bandtitel

Verlag

Gesellschaft für Informatik e.V.

Zusammenfassung

Für automatisches Reengineering benötigt man garantierte Semantikerhaltung. Notwendige Voraussetzung ist hierbei z.B. dass der Slice eines bestimmten Codestücks gleich bleibt, d.h. dass es von den gleichen Anweisungen abhängig bleibt. Dadurch kann gewährleistet werden, dass alle Daten eines verschobenen Codestücks bei dessen Berechnung auch wirklich aktuell sind. Refactoring ist ein Beispiel, bei dem Slicing benutzt wird um die Semantik zu erhalten. Für parallele Java-Programme kann man aber keine optimalen Slices mehr finden, wie es für prozedurale Programme der Fall ist. Trotzdem lassen sich Näherungen berechnen, die einige nicht-erfüllbare Pfade durch das Programm ausschließen können und die damit den Reengineering-Prozess vereinfachen. Leider gibt es aber bis jetzt noch kein etabliertes Verfahren zur Berechnung der Abhängigkeiten, die durch Nutzung des gemeinsamen Speichers bei der parallelen Ausführung von Threads entstehen (Interferenz-Abhängigkeiten). Unser Ansatz kombiniert MHP mit den Erkenntnissen aus der Pointer-Analyse, die auch nur intra-prozedural definiert wurde und durch Cloning kontext-sensitiv gemacht werden kann. Dazu wurde das Tool bddbddb verwendet, das Pointer-Analyse mit Hilfe von BDDs (Binary Decision Diagram) berechnet. BDDs wurden bisher vor allem beim Model Checking verwendet, um die Explosion des Zustandsraumes besser im Speicher eindämmen zu können.

Beschreibung

Hammer, Christian (2005): Parallelitätsanalyse für Slicing von Java Threads. Softwaretechnik-Trends Band 25, Heft 2. DOI: 10.18420/swt25-2_05. Gesellschaft für Informatik e.V.. ISSN: 0720-8928

Zitierform

Tags