A Precise Framework for Source-Level Control-Flow Analysis
(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)
- author
- Riouak, Idriss LU ; Reichenbach, Christoph LU ; Hedin, Görel LU and Fors, Niklas LU
- organization
- publishing date
- 2021
- 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-4897-0
- 978-1-6654-4898-7
- 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-09-20 01:55:56
@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-4897-0}}, 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}}, }