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!
container_end_page 109
container_issue
container_start_page 106
container_title
container_volume 1
creator Yongxian Jin
Wei Hu
Fengzhen Chen
Gaofeng Che
description 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.
doi_str_mv 10.1109/ICTM.2009.5412985
format Conference Proceeding
fullrecord <record><control><sourceid>ieee_6IE</sourceid><recordid>TN_cdi_ieee_primary_5412985</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>5412985</ieee_id><sourcerecordid>5412985</sourcerecordid><originalsourceid>FETCH-LOGICAL-i90t-48d61b6f9cd9220229849e8b9df7ad3d446096dd86f218d2fc23acd18b74aeda3</originalsourceid><addsrcrecordid>eNotj81OwzAQhC1BJUrJAyAufoEE21kn3iOK-Ckq4kDu1SZrQ1DbRHaF1LcniM5lLqNP3whxq1WhtcL7ddO-FUYpLCxog85eiAxrp8EAQIVoL8XSaFvn1qJZiOu_KSqoEa5EltK3mgPWgNJLUbVf0RNLn3qavKQD7U5pSDKMUb7SD8kpjp-R9kl2lDzL8SA_xvF4IxaBdsln516J9umxbV7yzfvzunnY5AOqYw6OK91VAXtGY5SZXQG965BDTVzybKuwYnZVMNqxCb0pqWftuhrIM5UrcfePHbz32ykOe4qn7fl1-Qv20EhT</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Thread escape analysis for Java programs based on Soot</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Yongxian Jin ; Wei Hu ; Fengzhen Chen ; Gaofeng Che</creator><creatorcontrib>Yongxian Jin ; Wei Hu ; Fengzhen Chen ; Gaofeng Che</creatorcontrib><description>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.</description><identifier>ISSN: 2157-5592</identifier><identifier>ISBN: 9781424446995</identifier><identifier>ISBN: 1424446996</identifier><identifier>DOI: 10.1109/ICTM.2009.5412985</identifier><identifier>LCCN: 2009904794</identifier><language>eng</language><publisher>IEEE</publisher><subject>Algorithm design and analysis ; Educational institutions ; escape analysis ; Ground support ; Information analysis ; Java ; Libraries ; Mathematics ; Performance analysis ; points-to graph ; Soot ; synchronization removal ; Testing ; thread-escape ; Yarn</subject><ispartof>2009 International Conference on Test and Measurement, 2009, Vol.1, p.106-109</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/5412985$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,780,784,789,790,2056,27923,54918</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/5412985$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Yongxian Jin</creatorcontrib><creatorcontrib>Wei Hu</creatorcontrib><creatorcontrib>Fengzhen Chen</creatorcontrib><creatorcontrib>Gaofeng Che</creatorcontrib><title>Thread escape analysis for Java programs based on Soot</title><title>2009 International Conference on Test and Measurement</title><addtitle>ICTM</addtitle><description>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.</description><subject>Algorithm design and analysis</subject><subject>Educational institutions</subject><subject>escape analysis</subject><subject>Ground support</subject><subject>Information analysis</subject><subject>Java</subject><subject>Libraries</subject><subject>Mathematics</subject><subject>Performance analysis</subject><subject>points-to graph</subject><subject>Soot</subject><subject>synchronization removal</subject><subject>Testing</subject><subject>thread-escape</subject><subject>Yarn</subject><issn>2157-5592</issn><isbn>9781424446995</isbn><isbn>1424446996</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2009</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNotj81OwzAQhC1BJUrJAyAufoEE21kn3iOK-Ckq4kDu1SZrQ1DbRHaF1LcniM5lLqNP3whxq1WhtcL7ddO-FUYpLCxog85eiAxrp8EAQIVoL8XSaFvn1qJZiOu_KSqoEa5EltK3mgPWgNJLUbVf0RNLn3qavKQD7U5pSDKMUb7SD8kpjp-R9kl2lDzL8SA_xvF4IxaBdsln516J9umxbV7yzfvzunnY5AOqYw6OK91VAXtGY5SZXQG965BDTVzybKuwYnZVMNqxCb0pqWftuhrIM5UrcfePHbz32ykOe4qn7fl1-Qv20EhT</recordid><startdate>200912</startdate><enddate>200912</enddate><creator>Yongxian Jin</creator><creator>Wei Hu</creator><creator>Fengzhen Chen</creator><creator>Gaofeng Che</creator><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>200912</creationdate><title>Thread escape analysis for Java programs based on Soot</title><author>Yongxian Jin ; Wei Hu ; Fengzhen Chen ; Gaofeng Che</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i90t-48d61b6f9cd9220229849e8b9df7ad3d446096dd86f218d2fc23acd18b74aeda3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2009</creationdate><topic>Algorithm design and analysis</topic><topic>Educational institutions</topic><topic>escape analysis</topic><topic>Ground support</topic><topic>Information analysis</topic><topic>Java</topic><topic>Libraries</topic><topic>Mathematics</topic><topic>Performance analysis</topic><topic>points-to graph</topic><topic>Soot</topic><topic>synchronization removal</topic><topic>Testing</topic><topic>thread-escape</topic><topic>Yarn</topic><toplevel>online_resources</toplevel><creatorcontrib>Yongxian Jin</creatorcontrib><creatorcontrib>Wei Hu</creatorcontrib><creatorcontrib>Fengzhen Chen</creatorcontrib><creatorcontrib>Gaofeng Che</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Yongxian Jin</au><au>Wei Hu</au><au>Fengzhen Chen</au><au>Gaofeng Che</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Thread escape analysis for Java programs based on Soot</atitle><btitle>2009 International Conference on Test and Measurement</btitle><stitle>ICTM</stitle><date>2009-12</date><risdate>2009</risdate><volume>1</volume><spage>106</spage><epage>109</epage><pages>106-109</pages><issn>2157-5592</issn><isbn>9781424446995</isbn><isbn>1424446996</isbn><abstract>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.</abstract><pub>IEEE</pub><doi>10.1109/ICTM.2009.5412985</doi><tpages>4</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 2157-5592
ispartof 2009 International Conference on Test and Measurement, 2009, Vol.1, p.106-109
issn 2157-5592
language eng
recordid cdi_ieee_primary_5412985
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Algorithm design and analysis
Educational institutions
escape analysis
Ground support
Information analysis
Java
Libraries
Mathematics
Performance analysis
points-to graph
Soot
synchronization removal
Testing
thread-escape
Yarn
title Thread escape analysis for Java programs based on Soot
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-09T12%3A36%3A30IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-ieee_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Thread%20escape%20analysis%20for%20Java%20programs%20based%20on%20Soot&rft.btitle=2009%20International%20Conference%20on%20Test%20and%20Measurement&rft.au=Yongxian%20Jin&rft.date=2009-12&rft.volume=1&rft.spage=106&rft.epage=109&rft.pages=106-109&rft.issn=2157-5592&rft.isbn=9781424446995&rft.isbn_list=1424446996&rft_id=info:doi/10.1109/ICTM.2009.5412985&rft_dat=%3Cieee_6IE%3E5412985%3C/ieee_6IE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=5412985&rfr_iscdi=true