Compactly Representing First-Order Structures for Static Analysis
A fundamental bottleneck in applying sophisticated static analyses to large programs is the space consumed by abstract program states. This is particularly true when analyzing programs that make extensive use of heap-allocated data. The TVLA Three-Valued Logic Analysis) program analysis and verifica...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Buchkapitel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 212 |
---|---|
container_issue | |
container_start_page | 196 |
container_title | |
container_volume | 2477 |
creator | Manevich, R. Ramalingam, G. Field, J. Goyal, D. Sagiv, M. |
description | A fundamental bottleneck in applying sophisticated static analyses to large programs is the space consumed by abstract program states. This is particularly true when analyzing programs that make extensive use of heap-allocated data. The TVLA Three-Valued Logic Analysis) program analysis and verification system models dynamic allocation precisely by representing program states as first-order structures. In such a representation, a finite collection of predicates is used to define states; the predicates range over a universe of individuals that may evolve—expand and contract—during analysis. Evolving first-order structures can be used to encode a wide variety of analyses, including most analyses whose abstract states are represented by directed graphs or maps. This paper addresses the problem of space consumption in such analyses by describing and evaluating two novel structure representation techniques. One technique uses ordered binary decision diagrams (OB-DDs); the other uses a variant of a functional map data structure. Using a suite of benchmark analysis problems, we systematically compare the new representations with TVLA’s existing state representation. The results show that both the OBDD and functional implementations reduce space consumption in TVLA by a factor of 4 to 10 relative to the current TVLA state representation, without compromising analysis time. In addition to TVLA, we believe that our results are applicable to many program analysis systems that represent states as graphs, maps, or other structures of similar complexity. |
doi_str_mv | 10.1007/3-540-45789-5_16 |
format | Book Chapter |
fullrecord | <record><control><sourceid>proquest_pasca</sourceid><recordid>TN_cdi_pascalfrancis_primary_14985524</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>EBC3072008_22_207</sourcerecordid><originalsourceid>FETCH-LOGICAL-p268t-e74a050568a1019acd1f50c527bf2bad5cd25dadb1e717b9a8d1f0531d3fb8ae3</originalsourceid><addsrcrecordid>eNotkM1PwzAMxcOnGGN3jr1wDDhJ0yTHaWKAhITExzly0xQKpS1Jdth_TzbwxbLf87P0I-SSwTUDUDeCyhJoKZU2VFpWHZBzkTf7hTwkM1YxRoUozRFZGKX3WsmFrI7JDARwalQpTsnMSC0546Y6I4sYPyGX4JXWbEaWq_F7Qpf6bfHsp-CjH1I3vBfrLsREn0LjQ_GSwsalTRaLdtyNmDpXLAfst7GLF-SkxT76xX-fk7f17evqnj4-3T2slo90yq8S9apEkCArjQyYQdewVoKTXNUtr7GRruGywaZmXjFVG9TZAFKwRrS1Ri_m5Oovd8LosG8DDq6LdgrdN4atZaXRUvIy-67_fDFLw7sPth7Hr2gZ2B1UK2zGZPcM7Q5qPhD_wWH82fiYrN9duEwiYO8-cEo-RCtAcQBtObcclPgFmF91Dw</addsrcrecordid><sourcetype>Index Database</sourcetype><iscdi>true</iscdi><recordtype>book_chapter</recordtype><pqid>EBC3072008_22_207</pqid></control><display><type>book_chapter</type><title>Compactly Representing First-Order Structures for Static Analysis</title><source>Springer Books</source><creator>Manevich, R. ; Ramalingam, G. ; Field, J. ; Goyal, D. ; Sagiv, M.</creator><contributor>Hermenegildo, Manuel ; Puebla, German ; Puebla, Germán ; Hermenegildo, Manuel V.</contributor><creatorcontrib>Manevich, R. ; Ramalingam, G. ; Field, J. ; Goyal, D. ; Sagiv, M. ; Hermenegildo, Manuel ; Puebla, German ; Puebla, Germán ; Hermenegildo, Manuel V.</creatorcontrib><description>A fundamental bottleneck in applying sophisticated static analyses to large programs is the space consumed by abstract program states. This is particularly true when analyzing programs that make extensive use of heap-allocated data. The TVLA Three-Valued Logic Analysis) program analysis and verification system models dynamic allocation precisely by representing program states as first-order structures. In such a representation, a finite collection of predicates is used to define states; the predicates range over a universe of individuals that may evolve—expand and contract—during analysis. Evolving first-order structures can be used to encode a wide variety of analyses, including most analyses whose abstract states are represented by directed graphs or maps. This paper addresses the problem of space consumption in such analyses by describing and evaluating two novel structure representation techniques. One technique uses ordered binary decision diagrams (OB-DDs); the other uses a variant of a functional map data structure. Using a suite of benchmark analysis problems, we systematically compare the new representations with TVLA’s existing state representation. The results show that both the OBDD and functional implementations reduce space consumption in TVLA by a factor of 4 to 10 relative to the current TVLA state representation, without compromising analysis time. In addition to TVLA, we believe that our results are applicable to many program analysis systems that represent states as graphs, maps, or other structures of similar complexity.</description><identifier>ISSN: 0302-9743</identifier><identifier>ISBN: 9783540442356</identifier><identifier>ISBN: 3540442359</identifier><identifier>EISSN: 1611-3349</identifier><identifier>EISBN: 3540457895</identifier><identifier>EISBN: 9783540457893</identifier><identifier>DOI: 10.1007/3-540-45789-5_16</identifier><identifier>OCLC: 958521296</identifier><identifier>LCCallNum: QA76.9.D3</identifier><language>eng</language><publisher>Germany: Springer Berlin / Heidelberg</publisher><subject>Abstract Interpretation ; Applied sciences ; Binary Decision Diagram ; Boolean Variable ; Computer science; control theory; systems ; Exact sciences and technology ; Language theory and syntactical analysis ; Mutable Structure ; Program Point ; Theoretical computing</subject><ispartof>Lecture notes in computer science, 2002, Vol.2477, p.196-212</ispartof><rights>Springer-Verlag Berlin Heidelberg 2002</rights><rights>2003 INIST-CNRS</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><relation>Lecture Notes in Computer Science</relation></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Uhttps://ebookcentral.proquest.com/covers/3072008-l.jpg</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/3-540-45789-5_16$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/3-540-45789-5_16$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>309,310,779,780,784,789,790,793,27923,38253,41440,42509</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=14985524$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><contributor>Hermenegildo, Manuel</contributor><contributor>Puebla, German</contributor><contributor>Puebla, Germán</contributor><contributor>Hermenegildo, Manuel V.</contributor><creatorcontrib>Manevich, R.</creatorcontrib><creatorcontrib>Ramalingam, G.</creatorcontrib><creatorcontrib>Field, J.</creatorcontrib><creatorcontrib>Goyal, D.</creatorcontrib><creatorcontrib>Sagiv, M.</creatorcontrib><title>Compactly Representing First-Order Structures for Static Analysis</title><title>Lecture notes in computer science</title><description>A fundamental bottleneck in applying sophisticated static analyses to large programs is the space consumed by abstract program states. This is particularly true when analyzing programs that make extensive use of heap-allocated data. The TVLA Three-Valued Logic Analysis) program analysis and verification system models dynamic allocation precisely by representing program states as first-order structures. In such a representation, a finite collection of predicates is used to define states; the predicates range over a universe of individuals that may evolve—expand and contract—during analysis. Evolving first-order structures can be used to encode a wide variety of analyses, including most analyses whose abstract states are represented by directed graphs or maps. This paper addresses the problem of space consumption in such analyses by describing and evaluating two novel structure representation techniques. One technique uses ordered binary decision diagrams (OB-DDs); the other uses a variant of a functional map data structure. Using a suite of benchmark analysis problems, we systematically compare the new representations with TVLA’s existing state representation. The results show that both the OBDD and functional implementations reduce space consumption in TVLA by a factor of 4 to 10 relative to the current TVLA state representation, without compromising analysis time. In addition to TVLA, we believe that our results are applicable to many program analysis systems that represent states as graphs, maps, or other structures of similar complexity.</description><subject>Abstract Interpretation</subject><subject>Applied sciences</subject><subject>Binary Decision Diagram</subject><subject>Boolean Variable</subject><subject>Computer science; control theory; systems</subject><subject>Exact sciences and technology</subject><subject>Language theory and syntactical analysis</subject><subject>Mutable Structure</subject><subject>Program Point</subject><subject>Theoretical computing</subject><issn>0302-9743</issn><issn>1611-3349</issn><isbn>9783540442356</isbn><isbn>3540442359</isbn><isbn>3540457895</isbn><isbn>9783540457893</isbn><fulltext>true</fulltext><rsrctype>book_chapter</rsrctype><creationdate>2002</creationdate><recordtype>book_chapter</recordtype><recordid>eNotkM1PwzAMxcOnGGN3jr1wDDhJ0yTHaWKAhITExzly0xQKpS1Jdth_TzbwxbLf87P0I-SSwTUDUDeCyhJoKZU2VFpWHZBzkTf7hTwkM1YxRoUozRFZGKX3WsmFrI7JDARwalQpTsnMSC0546Y6I4sYPyGX4JXWbEaWq_F7Qpf6bfHsp-CjH1I3vBfrLsREn0LjQ_GSwsalTRaLdtyNmDpXLAfst7GLF-SkxT76xX-fk7f17evqnj4-3T2slo90yq8S9apEkCArjQyYQdewVoKTXNUtr7GRruGywaZmXjFVG9TZAFKwRrS1Ri_m5Oovd8LosG8DDq6LdgrdN4atZaXRUvIy-67_fDFLw7sPth7Hr2gZ2B1UK2zGZPcM7Q5qPhD_wWH82fiYrN9duEwiYO8-cEo-RCtAcQBtObcclPgFmF91Dw</recordid><startdate>20020101</startdate><enddate>20020101</enddate><creator>Manevich, R.</creator><creator>Ramalingam, G.</creator><creator>Field, J.</creator><creator>Goyal, D.</creator><creator>Sagiv, M.</creator><general>Springer Berlin / Heidelberg</general><general>Springer Berlin Heidelberg</general><general>Springer</general><scope>FFUUA</scope><scope>IQODW</scope></search><sort><creationdate>20020101</creationdate><title>Compactly Representing First-Order Structures for Static Analysis</title><author>Manevich, R. ; Ramalingam, G. ; Field, J. ; Goyal, D. ; Sagiv, M.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-p268t-e74a050568a1019acd1f50c527bf2bad5cd25dadb1e717b9a8d1f0531d3fb8ae3</frbrgroupid><rsrctype>book_chapters</rsrctype><prefilter>book_chapters</prefilter><language>eng</language><creationdate>2002</creationdate><topic>Abstract Interpretation</topic><topic>Applied sciences</topic><topic>Binary Decision Diagram</topic><topic>Boolean Variable</topic><topic>Computer science; control theory; systems</topic><topic>Exact sciences and technology</topic><topic>Language theory and syntactical analysis</topic><topic>Mutable Structure</topic><topic>Program Point</topic><topic>Theoretical computing</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Manevich, R.</creatorcontrib><creatorcontrib>Ramalingam, G.</creatorcontrib><creatorcontrib>Field, J.</creatorcontrib><creatorcontrib>Goyal, D.</creatorcontrib><creatorcontrib>Sagiv, M.</creatorcontrib><collection>ProQuest Ebook Central - Book Chapters - Demo use only</collection><collection>Pascal-Francis</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Manevich, R.</au><au>Ramalingam, G.</au><au>Field, J.</au><au>Goyal, D.</au><au>Sagiv, M.</au><au>Hermenegildo, Manuel</au><au>Puebla, German</au><au>Puebla, Germán</au><au>Hermenegildo, Manuel V.</au><format>book</format><genre>bookitem</genre><ristype>CHAP</ristype><atitle>Compactly Representing First-Order Structures for Static Analysis</atitle><btitle>Lecture notes in computer science</btitle><seriestitle>Lecture Notes in Computer Science</seriestitle><date>2002-01-01</date><risdate>2002</risdate><volume>2477</volume><spage>196</spage><epage>212</epage><pages>196-212</pages><issn>0302-9743</issn><eissn>1611-3349</eissn><isbn>9783540442356</isbn><isbn>3540442359</isbn><eisbn>3540457895</eisbn><eisbn>9783540457893</eisbn><abstract>A fundamental bottleneck in applying sophisticated static analyses to large programs is the space consumed by abstract program states. This is particularly true when analyzing programs that make extensive use of heap-allocated data. The TVLA Three-Valued Logic Analysis) program analysis and verification system models dynamic allocation precisely by representing program states as first-order structures. In such a representation, a finite collection of predicates is used to define states; the predicates range over a universe of individuals that may evolve—expand and contract—during analysis. Evolving first-order structures can be used to encode a wide variety of analyses, including most analyses whose abstract states are represented by directed graphs or maps. This paper addresses the problem of space consumption in such analyses by describing and evaluating two novel structure representation techniques. One technique uses ordered binary decision diagrams (OB-DDs); the other uses a variant of a functional map data structure. Using a suite of benchmark analysis problems, we systematically compare the new representations with TVLA’s existing state representation. The results show that both the OBDD and functional implementations reduce space consumption in TVLA by a factor of 4 to 10 relative to the current TVLA state representation, without compromising analysis time. In addition to TVLA, we believe that our results are applicable to many program analysis systems that represent states as graphs, maps, or other structures of similar complexity.</abstract><cop>Germany</cop><pub>Springer Berlin / Heidelberg</pub><doi>10.1007/3-540-45789-5_16</doi><oclcid>958521296</oclcid><tpages>17</tpages></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0302-9743 |
ispartof | Lecture notes in computer science, 2002, Vol.2477, p.196-212 |
issn | 0302-9743 1611-3349 |
language | eng |
recordid | cdi_pascalfrancis_primary_14985524 |
source | Springer Books |
subjects | Abstract Interpretation Applied sciences Binary Decision Diagram Boolean Variable Computer science control theory systems Exact sciences and technology Language theory and syntactical analysis Mutable Structure Program Point Theoretical computing |
title | Compactly Representing First-Order Structures for Static Analysis |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-10T03%3A29%3A16IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_pasca&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=bookitem&rft.atitle=Compactly%20Representing%20First-Order%20Structures%20for%20Static%20Analysis&rft.btitle=Lecture%20notes%20in%20computer%20science&rft.au=Manevich,%20R.&rft.date=2002-01-01&rft.volume=2477&rft.spage=196&rft.epage=212&rft.pages=196-212&rft.issn=0302-9743&rft.eissn=1611-3349&rft.isbn=9783540442356&rft.isbn_list=3540442359&rft_id=info:doi/10.1007/3-540-45789-5_16&rft_dat=%3Cproquest_pasca%3EEBC3072008_22_207%3C/proquest_pasca%3E%3Curl%3E%3C/url%3E&rft.eisbn=3540457895&rft.eisbn_list=9783540457893&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=EBC3072008_22_207&rft_id=info:pmid/&rfr_iscdi=true |