Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

A Precise Framework for Source-Level Control-Flow Analysis

Riouak, Idriss LU orcid ; Reichenbach, Christoph LU orcid ; Hedin, Görel LU orcid and Fors, Niklas LU orcid (2021) IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM) p.1-11
Abstract

This paper presents INTRACFG, a declarative and language-independent framework for constructing precise intraprocedural control-flow graphs (CFGs) based on the reference attribute grammar system JastAdd. Unlike most other frameworks, which build CFGs on an Intermediate Representation level, e.g., bytecode, our approach superimposes the CFGs on the Abstract Syntax Tree, enabling accurate client analysis. Moreover, INTRACFG overcomes expressivity limitations of an earlier RAG-based framework, allowing the construction of AST-Unrestricted CFGs: CFGs whose shape is not confined to the AST structure. We evaluate the expressivity of INTRACFG with INTRAJ, an application of INTRACFG to Java 7, by comparing two data flow analyses built on top of... (More)

This paper presents INTRACFG, a declarative and language-independent framework for constructing precise intraprocedural control-flow graphs (CFGs) based on the reference attribute grammar system JastAdd. Unlike most other frameworks, which build CFGs on an Intermediate Representation level, e.g., bytecode, our approach superimposes the CFGs on the Abstract Syntax Tree, enabling accurate client analysis. Moreover, INTRACFG overcomes expressivity limitations of an earlier RAG-based framework, allowing the construction of AST-Unrestricted CFGs: CFGs whose shape is not confined to the AST structure. We evaluate the expressivity of INTRACFG with INTRAJ, an application of INTRACFG to Java 7, by comparing two data flow analyses built on top of INTRAJ against tools from academia and from the industry. The results demonstrate that INTRAJ is effective at building precise and efficient CFGs and enables analyses with competitive performance.

(Less)
Please use this url to cite or link to this publication:
author
; ; and
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
keywords
Attributed Grammars, Control flow, Dataflow, Declarative, Static Analysis
host publication
Proceedings - IEEE 21st International Working Conference on Source Code Analysis and Manipulation, SCAM 2021
pages
11 pages
publisher
IEEE - Institute of Electrical and Electronics Engineers Inc.
conference name
IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM)
conference location
Luxembourg, Luxembourg
conference dates
2021-09-27 - 2021-12-28
external identifiers
  • scopus:85117610756
  • scopus:85117610756
ISBN
978-1-6654-4898-7
978-1-6654-4897-0
DOI
10.1109/SCAM52516.2021.00009
project
Säkra mjukvaruuppdateringar för den smarta staden
Explainable Declarative Programming Analysis
language
English
LU publication?
yes
id
d204ecfb-469c-4d87-b25c-8549e606a980
date added to LUP
2021-12-08 22:38:03
date last changed
2024-06-13 16:46:12
@inproceedings{d204ecfb-469c-4d87-b25c-8549e606a980,
  abstract     = {{<p>This paper presents INTRACFG, a declarative and language-independent framework for constructing precise intraprocedural control-flow graphs (CFGs) based on the reference attribute grammar system JastAdd. Unlike most other frameworks, which build CFGs on an Intermediate Representation level, e.g., bytecode, our approach superimposes the CFGs on the Abstract Syntax Tree, enabling accurate client analysis. Moreover, INTRACFG overcomes expressivity limitations of an earlier RAG-based framework, allowing the construction of AST-Unrestricted CFGs: CFGs whose shape is not confined to the AST structure. We evaluate the expressivity of INTRACFG with INTRAJ, an application of INTRACFG to Java 7, by comparing two data flow analyses built on top of INTRAJ against tools from academia and from the industry. The results demonstrate that INTRAJ is effective at building precise and efficient CFGs and enables analyses with competitive performance.</p>}},
  author       = {{Riouak, Idriss and Reichenbach, Christoph and Hedin, Görel and Fors, Niklas}},
  booktitle    = {{Proceedings - IEEE 21st International Working Conference on Source Code Analysis and Manipulation, SCAM 2021}},
  isbn         = {{978-1-6654-4898-7}},
  keywords     = {{Attributed Grammars; Control flow; Dataflow; Declarative; Static Analysis}},
  language     = {{eng}},
  pages        = {{1--11}},
  publisher    = {{IEEE - Institute of Electrical and Electronics Engineers Inc.}},
  title        = {{A Precise Framework for Source-Level Control-Flow Analysis}},
  url          = {{http://dx.doi.org/10.1109/SCAM52516.2021.00009}},
  doi          = {{10.1109/SCAM52516.2021.00009}},
  year         = {{2021}},
}