Advanced

Declarative intraprocedural flow analysis of Java source code

Söderberg, Emma LU ; Ekman, Torbjörn LU ; Hedin, Görel LU and Magnusson, Eva LU (2008) LDTA'08: 8th Workshop on Language Description, Tools and Applications In Electronic Notes in Theoretical Computer Science 238 (2009) p.155-171
Abstract
We have implemented intraprocedural control-flow and data-flow analysis of Java source code in a

declarative manner, using reference attribute grammars augmented with circular attributes

and collection attributes. Our implementation is built on top of the JastAdd

Extensible Java Compiler and we have run the analyses on medium-sized Java programs.

We show how the analyses can be built using small concise composable modules, and

how they provide extensible frameworks for further source code analyses. Preliminary

measurements indicate that there is little difference in execution time between our

declarative data-flow analysis and an imperative implementation.
Please use this url to cite or link to this publication:
author
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
in
Electronic Notes in Theoretical Computer Science 238 (2009)
pages
155 - 171
publisher
Elsevier
conference name
LDTA'08: 8th Workshop on Language Description, Tools and Applications
external identifiers
  • scopus:70349386126
ISSN
1571-0661
DOI
10.1016/j.entcs.2009.09.046
project
EASE
language
English
LU publication?
yes
id
cf1689e2-95ec-402d-b08f-615a14715daa (old id 1267173)
date added to LUP
2008-11-14 12:23:46
date last changed
2017-01-01 06:27:44
@inproceedings{cf1689e2-95ec-402d-b08f-615a14715daa,
  abstract     = {We have implemented intraprocedural control-flow and data-flow analysis of Java source code in a <br/><br>
declarative manner, using reference attribute grammars augmented with circular attributes <br/><br>
and collection attributes. Our implementation is built on top of the JastAdd <br/><br>
Extensible Java Compiler and we have run the analyses on medium-sized Java programs. <br/><br>
We show how the analyses can be built using small concise composable modules, and <br/><br>
how they provide extensible frameworks for further source code analyses. Preliminary <br/><br>
measurements indicate that there is little difference in execution time between our <br/><br>
declarative data-flow analysis and an imperative implementation.},
  author       = {Söderberg, Emma and Ekman, Torbjörn and Hedin, Görel and Magnusson, Eva},
  booktitle    = {Electronic Notes in Theoretical Computer Science 238 (2009)},
  issn         = {1571-0661},
  language     = {eng},
  pages        = {155--171},
  publisher    = {Elsevier},
  title        = {Declarative intraprocedural flow analysis of Java source code},
  url          = {http://dx.doi.org/10.1016/j.entcs.2009.09.046},
  year         = {2008},
}