Declarative Intraprocedural Flow Analysis of Java Source Code

  • Authors:
  • Emma Nilsson-Nyman;Görel Hedin;Eva Magnusson;Torbjörn Ekman

  • Affiliations:
  • Department of Computer Science, Lund University, Lund, Sweden;Department of Computer Science, Lund University, Lund, Sweden;Department of Computer Science, Lund University, Lund, Sweden;Programming Tools Group, University of Oxford, Oxford, United Kingdom

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.