Selective context-sensitivity guided by impact pre-analysis

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

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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

Original languageEnglish
Title of host publicationPLDI 2014 - Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation
PublisherAssociation for Computing Machinery
Pages475-484
Number of pages10
ISBN (Print)9781450327848
DOIs
Publication statusPublished - 2014 Jan 1
Externally publishedYes
Event35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2014 - Edinburgh, United Kingdom
Duration: 2014 Jun 92014 Jun 11

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

Conference35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2014
CountryUnited Kingdom
CityEdinburgh
Period14/6/914/6/11

Fingerprint

Information use
Costs

Keywords

  • Context-sensitive analysis
  • Static analysis

ASJC Scopus subject areas

  • Software

Cite this

Oh, H., Lee, W., Heo, K., Yang, H., & Yi, K. (2014). Selective context-sensitivity guided by impact pre-analysis. In PLDI 2014 - Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 475-484). (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)). Association for Computing Machinery. https://doi.org/10.1145/2594291.2594318

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

PLDI 2014 - Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation. Association for Computing Machinery, 2014. p. 475-484 (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Oh, H, Lee, W, Heo, K, Yang, H & Yi, K 2014, Selective context-sensitivity guided by impact pre-analysis. in PLDI 2014 - Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Association for Computing Machinery, pp. 475-484, 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2014, Edinburgh, United Kingdom, 14/6/9. https://doi.org/10.1145/2594291.2594318
Oh H, Lee W, Heo K, Yang H, Yi K. Selective context-sensitivity guided by impact pre-analysis. In PLDI 2014 - Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation. Association for Computing Machinery. 2014. p. 475-484. (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)). https://doi.org/10.1145/2594291.2594318
Oh, Hakjoo ; Lee, Wonchan ; Heo, Kihong ; Yang, Hongseok ; Yi, Kwangkeun. / Selective context-sensitivity guided by impact pre-analysis. PLDI 2014 - Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation. Association for Computing Machinery, 2014. pp. 475-484 (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)).
@inproceedings{999626b5ddf34747a8e0267438977dc4,
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.",
keywords = "Context-sensitive analysis, Static analysis",
author = "Hakjoo Oh and Wonchan Lee and Kihong Heo and Hongseok Yang and Kwangkeun Yi",
year = "2014",
month = "1",
day = "1",
doi = "10.1145/2594291.2594318",
language = "English",
isbn = "9781450327848",
series = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",
publisher = "Association for Computing Machinery",
pages = "475--484",
booktitle = "PLDI 2014 - Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation",

}

TY - GEN

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/1/1

Y1 - 2014/1/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-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.

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.

KW - Context-sensitive analysis

KW - Static analysis

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

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

U2 - 10.1145/2594291.2594318

DO - 10.1145/2594291.2594318

M3 - Conference contribution

AN - SCOPUS:84901626665

SN - 9781450327848

T3 - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

SP - 475

EP - 484

BT - PLDI 2014 - Proceedings of the 2014 ACM SIGPLAN Conference on Programming Language Design and Implementation

PB - Association for Computing Machinery

ER -