Thread escape analysis for Java programs based on Soot

To reduce the synchronization overhead for parallel Java programs, we introduce a thread escape analysis based on points-to graphs. It combines the rules for determining whether an object escapes the thread that creates it with a flexible points-to analysis framework. It intra-procedurally and inter...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Yongxian Jin, Wei Hu, Fengzhen Chen, Gaofeng Che
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:To reduce the synchronization overhead for parallel Java programs, we introduce a thread escape analysis based on points-to graphs. It combines the rules for determining whether an object escapes the thread that creates it with a flexible points-to analysis framework. It intra-procedurally and inter-procedurally propagates the escape status of static fields and thread fields in the whole Java program and Java libraries. Thus it can identify those objects accessed by only one thread and then remove synchronization operations on them. We have developed an implementation on the Java framework Soot. Our escape analysis framework is written in Java and thus portable. For our benchmarks, 15.7% to 99.2% (with a median of 55.9%) of synchronization operations are eliminated.
ISSN:2157-5592
DOI:10.1109/ICTM.2009.5412985