Extensible intraprocedural flow analysis at the abstract syntax tree level
(2013) In Science of Computer Programming 78(10). p.1809-1827- Abstract
- We have developed a new approach for implementing precise intraprocedural control-flow and dataflow analyses at the abstract syntax tree level. Our approach is declarative, making use of reference attribute grammars augmented with circular attributes and collection attributes. This results in concise executable specifications of the analyses, allowing extensions both to the language and with further source code analyses.
To evaluate the new approach, we have implemented control flow, dataflow and dead assignment analyses for Java, by extending the JastAdd Extensible Java Compiler. We have compared our results to several well-known analysis frameworks and tools, using a set of Java programs as benchmarks. These results... (More) - We have developed a new approach for implementing precise intraprocedural control-flow and dataflow analyses at the abstract syntax tree level. Our approach is declarative, making use of reference attribute grammars augmented with circular attributes and collection attributes. This results in concise executable specifications of the analyses, allowing extensions both to the language and with further source code analyses.
To evaluate the new approach, we have implemented control flow, dataflow and dead assignment analyses for Java, by extending the JastAdd Extensible Java Compiler. We have compared our results to several well-known analysis frameworks and tools, using a set of Java programs as benchmarks. These results show that our approach performs well concerning both efficiency and preciseness. (Less)
Please use this url to cite or link to this publication:
https://lup.lub.lu.se/record/3882568
- author
- Söderberg, Emma LU ; Ekman, Torbjörn LU ; Hedin, Görel LU and Magnusson, Eva LU
- organization
- publishing date
- 2013
- type
- Contribution to journal
- publication status
- published
- subject
- in
- Science of Computer Programming
- volume
- 78
- issue
- 10
- pages
- 1809 - 1827
- publisher
- Elsevier
- external identifiers
-
- wos:000323086300004
- scopus:84880259206
- ISSN
- 0167-6423
- DOI
- 10.1016/j.scico.2012.02.002
- project
- ELLIIT LU P05: Scalable Language Tools for Cyber-Physical Systems
- language
- English
- LU publication?
- yes
- id
- 5e28953f-aebc-4903-879a-cd62635f918a (old id 3882568)
- date added to LUP
- 2016-04-01 13:19:55
- date last changed
- 2022-05-07 08:40:02
@article{5e28953f-aebc-4903-879a-cd62635f918a, abstract = {{We have developed a new approach for implementing precise intraprocedural control-flow and dataflow analyses at the abstract syntax tree level. Our approach is declarative, making use of reference attribute grammars augmented with circular attributes and collection attributes. This results in concise executable specifications of the analyses, allowing extensions both to the language and with further source code analyses.<br/><br> <br/><br> To evaluate the new approach, we have implemented control flow, dataflow and dead assignment analyses for Java, by extending the JastAdd Extensible Java Compiler. We have compared our results to several well-known analysis frameworks and tools, using a set of Java programs as benchmarks. These results show that our approach performs well concerning both efficiency and preciseness.}}, author = {{Söderberg, Emma and Ekman, Torbjörn and Hedin, Görel and Magnusson, Eva}}, issn = {{0167-6423}}, language = {{eng}}, number = {{10}}, pages = {{1809--1827}}, publisher = {{Elsevier}}, series = {{Science of Computer Programming}}, title = {{Extensible intraprocedural flow analysis at the abstract syntax tree level}}, url = {{http://dx.doi.org/10.1016/j.scico.2012.02.002}}, doi = {{10.1016/j.scico.2012.02.002}}, volume = {{78}}, year = {{2013}}, }