Loading…

Global Sparse Analysis Framework

In this article, we present a general method for achieving global static analyzers that are precise and sound, yet also scalable. Our method, on top of the abstract interpretation framework, is a general sparse analysis technique that supports relational as well as nonrelational semantics properties...

Full description

Saved in:
Bibliographic Details
Published in:ACM transactions on programming languages and systems 2014-09, Vol.36 (3), p.1-44, Article 8
Main Authors: Oh, Hakjoo, Heo, Kihong, Lee, Wonchan, Lee, Woosuk, Park, Daejun, Kang, Jeehoon, Yi, Kwangkeun
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by cdi_FETCH-LOGICAL-a310t-b84a3dd6ea4a819a71ea121fc9c8d19417a7461b87442758f6f2f88879b184b3
cites cdi_FETCH-LOGICAL-a310t-b84a3dd6ea4a819a71ea121fc9c8d19417a7461b87442758f6f2f88879b184b3
container_end_page 44
container_issue 3
container_start_page 1
container_title ACM transactions on programming languages and systems
container_volume 36
creator Oh, Hakjoo
Heo, Kihong
Lee, Wonchan
Lee, Woosuk
Park, Daejun
Kang, Jeehoon
Yi, Kwangkeun
description In this article, we present a general method for achieving global static analyzers that are precise and sound, yet also scalable. Our method, on top of the abstract interpretation framework, is a general sparse analysis technique that supports relational as well as nonrelational semantics properties for various programming languages. Analysis designers first use the abstract interpretation framework to have a global and correct static analyzer whose scalability is unattended. Upon this underlying sound static analyzer, analysis designers add our generalized sparse analysis techniques to improve its scalability while preserving the precision of the underlying analysis. Our method prescribes what to prove to guarantee that the resulting sparse version should preserve the precision of the underlying analyzer. We formally present our framework and show that existing sparse analyses are all restricted instances of our framework. In addition, we show more semantically elaborate design examples of sparse nonrelational and relational static analyses. We then present their implementation results that scale to globally analyze up to one million lines of C programs. We also show a set of implementation techniques that turn out to be critical to economically support the sparse analysis process.
doi_str_mv 10.1145/2590811
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_1793253523</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1793253523</sourcerecordid><originalsourceid>FETCH-LOGICAL-a310t-b84a3dd6ea4a819a71ea121fc9c8d19417a7461b87442758f6f2f88879b184b3</originalsourceid><addsrcrecordid>eNo90L1PwzAUBHALgUQoiJ0pGywBP3_Ez2NV0YJUiYHu1kviSAGnCXYr1P-eohSmG-6nG46xW-CPAEo_CW05ApyxDLTGQmkrz1nGoVQFt0JfsquUPjjngBozlq_CUFHI30eKyefzLYVD6lK-jNT77yF-XrOLlkLyN6ecsc3yebN4KdZvq9fFfF2QBL4rKlQkm6b0pAjBkgFPIKCtbY0NWAWGjCqhQqOUMBrbshUtIhpbAapKztjDNDvG4Wvv0871Xap9CLT1wz45MFYKLbWQR3o_0ToOKUXfujF2PcWDA-5-L3CnC47ybpJU9__or_wB6WpTNQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1793253523</pqid></control><display><type>article</type><title>Global Sparse Analysis Framework</title><source>Business Source Ultimate</source><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>Oh, Hakjoo ; Heo, Kihong ; Lee, Wonchan ; Lee, Woosuk ; Park, Daejun ; Kang, Jeehoon ; Yi, Kwangkeun</creator><creatorcontrib>Oh, Hakjoo ; Heo, Kihong ; Lee, Wonchan ; Lee, Woosuk ; Park, Daejun ; Kang, Jeehoon ; Yi, Kwangkeun</creatorcontrib><description>In this article, we present a general method for achieving global static analyzers that are precise and sound, yet also scalable. Our method, on top of the abstract interpretation framework, is a general sparse analysis technique that supports relational as well as nonrelational semantics properties for various programming languages. Analysis designers first use the abstract interpretation framework to have a global and correct static analyzer whose scalability is unattended. Upon this underlying sound static analyzer, analysis designers add our generalized sparse analysis techniques to improve its scalability while preserving the precision of the underlying analysis. Our method prescribes what to prove to guarantee that the resulting sparse version should preserve the precision of the underlying analyzer. We formally present our framework and show that existing sparse analyses are all restricted instances of our framework. In addition, we show more semantically elaborate design examples of sparse nonrelational and relational static analyses. We then present their implementation results that scale to globally analyze up to one million lines of C programs. We also show a set of implementation techniques that turn out to be critical to economically support the sparse analysis process.</description><identifier>ISSN: 0164-0925</identifier><identifier>EISSN: 1558-4593</identifier><identifier>DOI: 10.1145/2590811</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Analyzers ; C (programming language) ; Design engineering ; Economic analysis ; Preserves ; Program semantics ; Programming languages ; Semantics ; Semantics and reasoning ; Sound ; Theory of computation</subject><ispartof>ACM transactions on programming languages and systems, 2014-09, Vol.36 (3), p.1-44, Article 8</ispartof><rights>ACM</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-a310t-b84a3dd6ea4a819a71ea121fc9c8d19417a7461b87442758f6f2f88879b184b3</citedby><cites>FETCH-LOGICAL-a310t-b84a3dd6ea4a819a71ea121fc9c8d19417a7461b87442758f6f2f88879b184b3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Oh, Hakjoo</creatorcontrib><creatorcontrib>Heo, Kihong</creatorcontrib><creatorcontrib>Lee, Wonchan</creatorcontrib><creatorcontrib>Lee, Woosuk</creatorcontrib><creatorcontrib>Park, Daejun</creatorcontrib><creatorcontrib>Kang, Jeehoon</creatorcontrib><creatorcontrib>Yi, Kwangkeun</creatorcontrib><title>Global Sparse Analysis Framework</title><title>ACM transactions on programming languages and systems</title><addtitle>ACM TOPLAS</addtitle><description>In this article, we present a general method for achieving global static analyzers that are precise and sound, yet also scalable. Our method, on top of the abstract interpretation framework, is a general sparse analysis technique that supports relational as well as nonrelational semantics properties for various programming languages. Analysis designers first use the abstract interpretation framework to have a global and correct static analyzer whose scalability is unattended. Upon this underlying sound static analyzer, analysis designers add our generalized sparse analysis techniques to improve its scalability while preserving the precision of the underlying analysis. Our method prescribes what to prove to guarantee that the resulting sparse version should preserve the precision of the underlying analyzer. We formally present our framework and show that existing sparse analyses are all restricted instances of our framework. In addition, we show more semantically elaborate design examples of sparse nonrelational and relational static analyses. We then present their implementation results that scale to globally analyze up to one million lines of C programs. We also show a set of implementation techniques that turn out to be critical to economically support the sparse analysis process.</description><subject>Analyzers</subject><subject>C (programming language)</subject><subject>Design engineering</subject><subject>Economic analysis</subject><subject>Preserves</subject><subject>Program semantics</subject><subject>Programming languages</subject><subject>Semantics</subject><subject>Semantics and reasoning</subject><subject>Sound</subject><subject>Theory of computation</subject><issn>0164-0925</issn><issn>1558-4593</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2014</creationdate><recordtype>article</recordtype><recordid>eNo90L1PwzAUBHALgUQoiJ0pGywBP3_Ez2NV0YJUiYHu1kviSAGnCXYr1P-eohSmG-6nG46xW-CPAEo_CW05ApyxDLTGQmkrz1nGoVQFt0JfsquUPjjngBozlq_CUFHI30eKyefzLYVD6lK-jNT77yF-XrOLlkLyN6ecsc3yebN4KdZvq9fFfF2QBL4rKlQkm6b0pAjBkgFPIKCtbY0NWAWGjCqhQqOUMBrbshUtIhpbAapKztjDNDvG4Wvv0871Xap9CLT1wz45MFYKLbWQR3o_0ToOKUXfujF2PcWDA-5-L3CnC47ybpJU9__or_wB6WpTNQ</recordid><startdate>20140925</startdate><enddate>20140925</enddate><creator>Oh, Hakjoo</creator><creator>Heo, Kihong</creator><creator>Lee, Wonchan</creator><creator>Lee, Woosuk</creator><creator>Park, Daejun</creator><creator>Kang, Jeehoon</creator><creator>Yi, Kwangkeun</creator><general>ACM</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20140925</creationdate><title>Global Sparse Analysis Framework</title><author>Oh, Hakjoo ; Heo, Kihong ; Lee, Wonchan ; Lee, Woosuk ; Park, Daejun ; Kang, Jeehoon ; Yi, Kwangkeun</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a310t-b84a3dd6ea4a819a71ea121fc9c8d19417a7461b87442758f6f2f88879b184b3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2014</creationdate><topic>Analyzers</topic><topic>C (programming language)</topic><topic>Design engineering</topic><topic>Economic analysis</topic><topic>Preserves</topic><topic>Program semantics</topic><topic>Programming languages</topic><topic>Semantics</topic><topic>Semantics and reasoning</topic><topic>Sound</topic><topic>Theory of computation</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Oh, Hakjoo</creatorcontrib><creatorcontrib>Heo, Kihong</creatorcontrib><creatorcontrib>Lee, Wonchan</creatorcontrib><creatorcontrib>Lee, Woosuk</creatorcontrib><creatorcontrib>Park, Daejun</creatorcontrib><creatorcontrib>Kang, Jeehoon</creatorcontrib><creatorcontrib>Yi, Kwangkeun</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>ACM transactions on programming languages and systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Oh, Hakjoo</au><au>Heo, Kihong</au><au>Lee, Wonchan</au><au>Lee, Woosuk</au><au>Park, Daejun</au><au>Kang, Jeehoon</au><au>Yi, Kwangkeun</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Global Sparse Analysis Framework</atitle><jtitle>ACM transactions on programming languages and systems</jtitle><stitle>ACM TOPLAS</stitle><date>2014-09-25</date><risdate>2014</risdate><volume>36</volume><issue>3</issue><spage>1</spage><epage>44</epage><pages>1-44</pages><artnum>8</artnum><issn>0164-0925</issn><eissn>1558-4593</eissn><abstract>In this article, we present a general method for achieving global static analyzers that are precise and sound, yet also scalable. Our method, on top of the abstract interpretation framework, is a general sparse analysis technique that supports relational as well as nonrelational semantics properties for various programming languages. Analysis designers first use the abstract interpretation framework to have a global and correct static analyzer whose scalability is unattended. Upon this underlying sound static analyzer, analysis designers add our generalized sparse analysis techniques to improve its scalability while preserving the precision of the underlying analysis. Our method prescribes what to prove to guarantee that the resulting sparse version should preserve the precision of the underlying analyzer. We formally present our framework and show that existing sparse analyses are all restricted instances of our framework. In addition, we show more semantically elaborate design examples of sparse nonrelational and relational static analyses. We then present their implementation results that scale to globally analyze up to one million lines of C programs. We also show a set of implementation techniques that turn out to be critical to economically support the sparse analysis process.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/2590811</doi><tpages>44</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0164-0925
ispartof ACM transactions on programming languages and systems, 2014-09, Vol.36 (3), p.1-44, Article 8
issn 0164-0925
1558-4593
language eng
recordid cdi_proquest_miscellaneous_1793253523
source Business Source Ultimate; Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)
subjects Analyzers
C (programming language)
Design engineering
Economic analysis
Preserves
Program semantics
Programming languages
Semantics
Semantics and reasoning
Sound
Theory of computation
title Global Sparse Analysis Framework
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-04T18%3A25%3A16IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Global%20Sparse%20Analysis%20Framework&rft.jtitle=ACM%20transactions%20on%20programming%20languages%20and%20systems&rft.au=Oh,%20Hakjoo&rft.date=2014-09-25&rft.volume=36&rft.issue=3&rft.spage=1&rft.epage=44&rft.pages=1-44&rft.artnum=8&rft.issn=0164-0925&rft.eissn=1558-4593&rft_id=info:doi/10.1145/2590811&rft_dat=%3Cproquest_cross%3E1793253523%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-a310t-b84a3dd6ea4a819a71ea121fc9c8d19417a7461b87442758f6f2f88879b184b3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=1793253523&rft_id=info:pmid/&rfr_iscdi=true