Selective context-sensitivity guided by impact pre-analysis

Hakjoo Oh, Wonchan Lee, Kihong Heo, Hongseok Yang, Kwangkeun Yi

Research output: Contribution to journalArticle

8 Citations (Scopus)

Abstract

We present a method for selectively applying context-sensitivity during interprocedural program analysis. Our method applies context-sensitivity only when and where doing so is likely to improve the precision that matters for resolving given queries. The idea is to use a pre-analysis to estimate the impact of contextsensitivity on the main analysis's precision, and to use this information to find out when and where the main analysis should turn on or off its context-sensitivity. We formalize this approach and prove that the analysis always benefits from the pre-analysisguided context-sensitivity. We implemented this selective method for an existing industrial-strength interval analyzer for full C. The method reduced the number of (false) alarms by 24.4%, while increasing the analysis cost by 27.8% on average.

The use of the selective method is not limited to contextsensitivity. We demonstrate this generality by following the same principle and developing a selective relational analysis. Categories and Subject Descriptors F.3.2 [Semantics of Programming Languages]: Program Analysis

Original languageEnglish
Pages (from-to)475-484
Number of pages10
JournalACM SIGPLAN Notices
Volume49
Issue number6
DOIs
Publication statusPublished - 2014 Jun 5
Externally publishedYes

Fingerprint

Information use
Computer programming languages
Semantics
Costs

Keywords

  • Context-sensitive analysis
  • Static analysis

ASJC Scopus subject areas

  • Computer Science(all)

Cite this

Selective context-sensitivity guided by impact pre-analysis. / Oh, Hakjoo; Lee, Wonchan; Heo, Kihong; Yang, Hongseok; Yi, Kwangkeun.

In: ACM SIGPLAN Notices, Vol. 49, No. 6, 05.06.2014, p. 475-484.

Research output: Contribution to journalArticle

Oh, Hakjoo ; Lee, Wonchan ; Heo, Kihong ; Yang, Hongseok ; Yi, Kwangkeun. / Selective context-sensitivity guided by impact pre-analysis. In: ACM SIGPLAN Notices. 2014 ; Vol. 49, No. 6. pp. 475-484.
@article{1ab55630c7d54bebb4c311bae227a54b,
title = "Selective context-sensitivity guided by impact pre-analysis",
abstract = "We present a method for selectively applying context-sensitivity during interprocedural program analysis. Our method applies context-sensitivity only when and where doing so is likely to improve the precision that matters for resolving given queries. The idea is to use a pre-analysis to estimate the impact of contextsensitivity on the main analysis's precision, and to use this information to find out when and where the main analysis should turn on or off its context-sensitivity. We formalize this approach and prove that the analysis always benefits from the pre-analysisguided context-sensitivity. We implemented this selective method for an existing industrial-strength interval analyzer for full C. The method reduced the number of (false) alarms by 24.4{\%}, while increasing the analysis cost by 27.8{\%} on average.The use of the selective method is not limited to contextsensitivity. We demonstrate this generality by following the same principle and developing a selective relational analysis. Categories and Subject Descriptors F.3.2 [Semantics of Programming Languages]: Program Analysis",
keywords = "Context-sensitive analysis, Static analysis",
author = "Hakjoo Oh and Wonchan Lee and Kihong Heo and Hongseok Yang and Kwangkeun Yi",
year = "2014",
month = "6",
day = "5",
doi = "10.1145/2594291.2594318",
language = "English",
volume = "49",
pages = "475--484",
journal = "ACM SIGPLAN Notices",
issn = "1523-2867",
publisher = "Association for Computing Machinery (ACM)",
number = "6",

}

TY - JOUR

T1 - Selective context-sensitivity guided by impact pre-analysis

AU - Oh, Hakjoo

AU - Lee, Wonchan

AU - Heo, Kihong

AU - Yang, Hongseok

AU - Yi, Kwangkeun

PY - 2014/6/5

Y1 - 2014/6/5

N2 - We present a method for selectively applying context-sensitivity during interprocedural program analysis. Our method applies context-sensitivity only when and where doing so is likely to improve the precision that matters for resolving given queries. The idea is to use a pre-analysis to estimate the impact of contextsensitivity on the main analysis's precision, and to use this information to find out when and where the main analysis should turn on or off its context-sensitivity. We formalize this approach and prove that the analysis always benefits from the pre-analysisguided context-sensitivity. We implemented this selective method for an existing industrial-strength interval analyzer for full C. The method reduced the number of (false) alarms by 24.4%, while increasing the analysis cost by 27.8% on average.The use of the selective method is not limited to contextsensitivity. We demonstrate this generality by following the same principle and developing a selective relational analysis. Categories and Subject Descriptors F.3.2 [Semantics of Programming Languages]: Program Analysis

AB - We present a method for selectively applying context-sensitivity during interprocedural program analysis. Our method applies context-sensitivity only when and where doing so is likely to improve the precision that matters for resolving given queries. The idea is to use a pre-analysis to estimate the impact of contextsensitivity on the main analysis's precision, and to use this information to find out when and where the main analysis should turn on or off its context-sensitivity. We formalize this approach and prove that the analysis always benefits from the pre-analysisguided context-sensitivity. We implemented this selective method for an existing industrial-strength interval analyzer for full C. The method reduced the number of (false) alarms by 24.4%, while increasing the analysis cost by 27.8% on average.The use of the selective method is not limited to contextsensitivity. We demonstrate this generality by following the same principle and developing a selective relational analysis. Categories and Subject Descriptors F.3.2 [Semantics of Programming Languages]: Program Analysis

KW - Context-sensitive analysis

KW - Static analysis

UR - http://www.scopus.com/inward/record.url?scp=84907026771&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84907026771&partnerID=8YFLogxK

U2 - 10.1145/2594291.2594318

DO - 10.1145/2594291.2594318

M3 - Article

AN - SCOPUS:84907026771

VL - 49

SP - 475

EP - 484

JO - ACM SIGPLAN Notices

JF - ACM SIGPLAN Notices

SN - 1523-2867

IS - 6

ER -