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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Manevich, R., Ramalingam, G., Field, J., Goyal, D., Sagiv, M.
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&amp;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