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...
Gespeichert in:
Hauptverfasser: | , |
---|---|
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 |