Selective X-sensitive analysis guided by impact pre-analysis

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

Research output: Contribution to journalArticle

4 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-analysis-guided 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 context-sensitivity. We demonstrate this generality by following the same principle and developing a selective relational analysis and a selective flow-sensitive analysis. Our experiments show that the method cost-effectively improves the precision in the these analyses as well.

Original languageEnglish
Article number6
JournalACM Transactions on Programming Languages and Systems
Volume38
Issue number2
DOIs
Publication statusPublished - 2015 Dec 1

Fingerprint

Information use
Costs
Experiments

ASJC Scopus subject areas

  • Software

Cite this

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

In: ACM Transactions on Programming Languages and Systems, Vol. 38, No. 2, 6, 01.12.2015.

Research output: Contribution to journalArticle

Oh, Hakjoo ; Lee, Wonchan ; Heo, Kihong ; Yang, Hongseok ; Yi, Kwangkeun. / Selective X-sensitive analysis guided by impact pre-analysis. In: ACM Transactions on Programming Languages and Systems. 2015 ; Vol. 38, No. 2.
@article{e0955f713f0c42e48d71011000fadbef,
title = "Selective X-sensitive analysis 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-analysis-guided 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 context-sensitivity. We demonstrate this generality by following the same principle and developing a selective relational analysis and a selective flow-sensitive analysis. Our experiments show that the method cost-effectively improves the precision in the these analyses as well.",
author = "Hakjoo Oh and Wonchan Lee and Kihong Heo and Hongseok Yang and Kwangkeun Yi",
year = "2015",
month = "12",
day = "1",
doi = "10.1145/2821504",
language = "English",
volume = "38",
journal = "ACM Transactions on Programming Languages and Systems",
issn = "0164-0925",
publisher = "Association for Computing Machinery (ACM)",
number = "2",

}

TY - JOUR

T1 - Selective X-sensitive analysis guided by impact pre-analysis

AU - Oh, Hakjoo

AU - Lee, Wonchan

AU - Heo, Kihong

AU - Yang, Hongseok

AU - Yi, Kwangkeun

PY - 2015/12/1

Y1 - 2015/12/1

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-analysis-guided 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 context-sensitivity. We demonstrate this generality by following the same principle and developing a selective relational analysis and a selective flow-sensitive analysis. Our experiments show that the method cost-effectively improves the precision in the these analyses as well.

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-analysis-guided 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 context-sensitivity. We demonstrate this generality by following the same principle and developing a selective relational analysis and a selective flow-sensitive analysis. Our experiments show that the method cost-effectively improves the precision in the these analyses as well.

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

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

U2 - 10.1145/2821504

DO - 10.1145/2821504

M3 - Article

AN - SCOPUS:84953277475

VL - 38

JO - ACM Transactions on Programming Languages and Systems

JF - ACM Transactions on Programming Languages and Systems

SN - 0164-0925

IS - 2

M1 - 6

ER -