DDT: design and evaluation of a dynamic program analysis for optimizing data structure usage

Data structures define how values being computed are stored and accessed within programs. By recognizing what data structures are being used in an application, tools can make applications more robust by enforcing data structure consistency properties, and developers can better understand and more ea...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Jung, Changhee, Clark, Nathan
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 66
container_issue
container_start_page 56
container_title
container_volume
creator Jung, Changhee
Clark, Nathan
description Data structures define how values being computed are stored and accessed within programs. By recognizing what data structures are being used in an application, tools can make applications more robust by enforcing data structure consistency properties, and developers can better understand and more easily modify applications to suit the target architecture for a particular application. This paper presents the design and application of DDT, a new program analysis tool that automatically identifies data structures within an application. An application binary is instrumented to dynamically monitor how the data is stored and organized for a set of sample inputs. The instrumentation detects which functions interact with the stored data, and creates a signature for these functions using dynamic invariant detection. The invariants of these functions are then matched against a library of known data structures, providing a probable identification. That is, DDT uses program consistency properties to identify what data structures an application employs. The empirical evaluation shows that this technique is highly accurate across several different implementations of standard data structures, enabling aggressive optimizations in many situations.
doi_str_mv 10.1145/1669112.1669122
format Conference Proceeding
fullrecord <record><control><sourceid>acm_6IE</sourceid><recordid>TN_cdi_ieee_primary_5375321</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>5375321</ieee_id><sourcerecordid>acm_books_10_1145_1669112_1669122</sourcerecordid><originalsourceid>FETCH-LOGICAL-a162t-70ad5759bc6ecba7434df5db6f0016dc4e8fcedb3875baf064753d8179c405ef3</originalsourceid><addsrcrecordid>eNqNj7tqAzEQRQWOwcbZOoV_IM1uZiSNHmWw8wJDGrsWesLGNg67afL3UeL9gExzi3u4w2HsDqFDlPSASllE3v0l5zPWWG1QAZHR1uANWyJo3kpJuGDNOH5AvcpaIZdstt3ub9m8-NOYmylX7PD8tN-8trv3l7fN4671qPhXq8En0mRDVDkGr6WQqVAKqgCgSlFmU2JOQRhNwRdQUpNIBrWNEigXsWLr626fc3afQ3_2w7cjUTGOtb2_tj6eXbhcjqNDcL-GbjJ0k2FFu3-iLgx9_fwDSwtLeA</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>DDT: design and evaluation of a dynamic program analysis for optimizing data structure usage</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Jung, Changhee ; Clark, Nathan</creator><creatorcontrib>Jung, Changhee ; Clark, Nathan</creatorcontrib><description>Data structures define how values being computed are stored and accessed within programs. By recognizing what data structures are being used in an application, tools can make applications more robust by enforcing data structure consistency properties, and developers can better understand and more easily modify applications to suit the target architecture for a particular application. This paper presents the design and application of DDT, a new program analysis tool that automatically identifies data structures within an application. An application binary is instrumented to dynamically monitor how the data is stored and organized for a set of sample inputs. The instrumentation detects which functions interact with the stored data, and creates a signature for these functions using dynamic invariant detection. The invariants of these functions are then matched against a library of known data structures, providing a probable identification. That is, DDT uses program consistency properties to identify what data structures an application employs. The empirical evaluation shows that this technique is highly accurate across several different implementations of standard data structures, enabling aggressive optimizations in many situations.</description><identifier>ISSN: 1072-4451</identifier><identifier>ISBN: 9781605587981</identifier><identifier>ISBN: 1605587982</identifier><identifier>DOI: 10.1145/1669112.1669122</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Application software ; Computer architecture ; Data analysis ; Data Structure Identification ; Data structures ; Design optimization ; Educational institutions ; Information systems -- Information storage systems -- Record storage systems -- Record storage alternatives ; Instruments ; Interface Functions ; Memory Graphs ; Programming profession ; Software and its engineering -- Software notations and tools ; Software and its engineering -- Software notations and tools -- General programming languages -- Language features ; Target recognition ; Tree data structures</subject><ispartof>2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), 2009, p.56-66</ispartof><rights>2009 ACM</rights><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/5375321$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,776,780,785,786,2052,27902,54895</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/5375321$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Jung, Changhee</creatorcontrib><creatorcontrib>Clark, Nathan</creatorcontrib><title>DDT: design and evaluation of a dynamic program analysis for optimizing data structure usage</title><title>2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)</title><addtitle>MICRO</addtitle><description>Data structures define how values being computed are stored and accessed within programs. By recognizing what data structures are being used in an application, tools can make applications more robust by enforcing data structure consistency properties, and developers can better understand and more easily modify applications to suit the target architecture for a particular application. This paper presents the design and application of DDT, a new program analysis tool that automatically identifies data structures within an application. An application binary is instrumented to dynamically monitor how the data is stored and organized for a set of sample inputs. The instrumentation detects which functions interact with the stored data, and creates a signature for these functions using dynamic invariant detection. The invariants of these functions are then matched against a library of known data structures, providing a probable identification. That is, DDT uses program consistency properties to identify what data structures an application employs. The empirical evaluation shows that this technique is highly accurate across several different implementations of standard data structures, enabling aggressive optimizations in many situations.</description><subject>Application software</subject><subject>Computer architecture</subject><subject>Data analysis</subject><subject>Data Structure Identification</subject><subject>Data structures</subject><subject>Design optimization</subject><subject>Educational institutions</subject><subject>Information systems -- Information storage systems -- Record storage systems -- Record storage alternatives</subject><subject>Instruments</subject><subject>Interface Functions</subject><subject>Memory Graphs</subject><subject>Programming profession</subject><subject>Software and its engineering -- Software notations and tools</subject><subject>Software and its engineering -- Software notations and tools -- General programming languages -- Language features</subject><subject>Target recognition</subject><subject>Tree data structures</subject><issn>1072-4451</issn><isbn>9781605587981</isbn><isbn>1605587982</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2009</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNqNj7tqAzEQRQWOwcbZOoV_IM1uZiSNHmWw8wJDGrsWesLGNg67afL3UeL9gExzi3u4w2HsDqFDlPSASllE3v0l5zPWWG1QAZHR1uANWyJo3kpJuGDNOH5AvcpaIZdstt3ub9m8-NOYmylX7PD8tN-8trv3l7fN4671qPhXq8En0mRDVDkGr6WQqVAKqgCgSlFmU2JOQRhNwRdQUpNIBrWNEigXsWLr626fc3afQ3_2w7cjUTGOtb2_tj6eXbhcjqNDcL-GbjJ0k2FFu3-iLgx9_fwDSwtLeA</recordid><startdate>20091212</startdate><enddate>20091212</enddate><creator>Jung, Changhee</creator><creator>Clark, Nathan</creator><general>ACM</general><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>20091212</creationdate><title>DDT</title><author>Jung, Changhee ; Clark, Nathan</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a162t-70ad5759bc6ecba7434df5db6f0016dc4e8fcedb3875baf064753d8179c405ef3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2009</creationdate><topic>Application software</topic><topic>Computer architecture</topic><topic>Data analysis</topic><topic>Data Structure Identification</topic><topic>Data structures</topic><topic>Design optimization</topic><topic>Educational institutions</topic><topic>Information systems -- Information storage systems -- Record storage systems -- Record storage alternatives</topic><topic>Instruments</topic><topic>Interface Functions</topic><topic>Memory Graphs</topic><topic>Programming profession</topic><topic>Software and its engineering -- Software notations and tools</topic><topic>Software and its engineering -- Software notations and tools -- General programming languages -- Language features</topic><topic>Target recognition</topic><topic>Tree data structures</topic><toplevel>online_resources</toplevel><creatorcontrib>Jung, Changhee</creatorcontrib><creatorcontrib>Clark, Nathan</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>Jung, Changhee</au><au>Clark, Nathan</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>DDT: design and evaluation of a dynamic program analysis for optimizing data structure usage</atitle><btitle>2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)</btitle><stitle>MICRO</stitle><date>2009-12-12</date><risdate>2009</risdate><spage>56</spage><epage>66</epage><pages>56-66</pages><issn>1072-4451</issn><isbn>9781605587981</isbn><isbn>1605587982</isbn><abstract>Data structures define how values being computed are stored and accessed within programs. By recognizing what data structures are being used in an application, tools can make applications more robust by enforcing data structure consistency properties, and developers can better understand and more easily modify applications to suit the target architecture for a particular application. This paper presents the design and application of DDT, a new program analysis tool that automatically identifies data structures within an application. An application binary is instrumented to dynamically monitor how the data is stored and organized for a set of sample inputs. The instrumentation detects which functions interact with the stored data, and creates a signature for these functions using dynamic invariant detection. The invariants of these functions are then matched against a library of known data structures, providing a probable identification. That is, DDT uses program consistency properties to identify what data structures an application employs. The empirical evaluation shows that this technique is highly accurate across several different implementations of standard data structures, enabling aggressive optimizations in many situations.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/1669112.1669122</doi><tpages>11</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1072-4451
ispartof 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), 2009, p.56-66
issn 1072-4451
language eng
recordid cdi_ieee_primary_5375321
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Application software
Computer architecture
Data analysis
Data Structure Identification
Data structures
Design optimization
Educational institutions
Information systems -- Information storage systems -- Record storage systems -- Record storage alternatives
Instruments
Interface Functions
Memory Graphs
Programming profession
Software and its engineering -- Software notations and tools
Software and its engineering -- Software notations and tools -- General programming languages -- Language features
Target recognition
Tree data structures
title DDT: design and evaluation of a dynamic program analysis for optimizing data structure usage
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-07T01%3A03%3A12IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-acm_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=DDT:%20design%20and%20evaluation%20of%20a%20dynamic%20program%20analysis%20for%20optimizing%20data%20structure%20usage&rft.btitle=2009%2042nd%20Annual%20IEEE/ACM%20International%20Symposium%20on%20Microarchitecture%20(MICRO)&rft.au=Jung,%20Changhee&rft.date=2009-12-12&rft.spage=56&rft.epage=66&rft.pages=56-66&rft.issn=1072-4451&rft.isbn=9781605587981&rft.isbn_list=1605587982&rft_id=info:doi/10.1145/1669112.1669122&rft_dat=%3Cacm_6IE%3Eacm_books_10_1145_1669112_1669122%3C/acm_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=5375321&rfr_iscdi=true