A sparse evaluation technique for detailed semantic analyses

Yoonseok Ko, Kihong Heo, Hakjoo Oh

Research output: Contribution to journalArticlepeer-review

4 Citations (Scopus)

Abstract

We present a sparse evaluation technique that is effectively applicable to a set of elaborate semantic-based static analyses. Existing sparse evaluation techniques are effective only when the underlying analyses have comparably low precision. For example, if a pointer analysis precision is not affected by numeric statements like x:=1 then existing sparse evaluation techniques can remove the statement, but otherwise, the statement cannot be removed. Our technique, which is a fine-grained sparse evaluation technique, is effectively applicable even to elaborate analyses. A key insight of our technique is that, even though a statement is relevant to an analysis, it is typical that analyzing the statement involves only a tiny subset of its input abstract memory and the most are irrelevant. By exploiting this sparsity, our technique transforms the original analysis into a form that does not involve the fine-grained irrelevant semantic behaviors. We formalize our technique within the abstract interpretation framework. In experiments with a C static analyzer, our technique improved the analysis speed by on average 14x.

Original languageEnglish
Pages (from-to)99-111
Number of pages13
JournalComputer Languages, Systems and Structures
Volume40
Issue number3-4
DOIs
Publication statusPublished - 2014 Oct 1
Externally publishedYes

Keywords

  • Abstract interpretation
  • Data-flow analysis
  • Sparse evaluation
  • Static analysis

ASJC Scopus subject areas

  • Software
  • Computer Networks and Communications

Fingerprint

Dive into the research topics of 'A sparse evaluation technique for detailed semantic analyses'. Together they form a unique fingerprint.

Cite this