Development of a Java Bytecode Front-End

The VizzAnalyzer is a powerful software analysis tool. It is able to extract information from various software representations like source code  but also other specifications like UML. The extracted information is input to static analysis of these software projects. One programming language the Vizz...

Full description

Bibliographic Details
Main Author: Modesto, Francisco
Format: Others
Language:English
Published: Växjö universitet, Matematiska och systemtekniska institutionen 2009
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:vxu:diva-6210
Description
Summary:The VizzAnalyzer is a powerful software analysis tool. It is able to extract information from various software representations like source code  but also other specifications like UML. The extracted information is input to static analysis of these software projects. One programming language the VizzAnalyzer can extract information from is Java source code. Analyzing the source code is sufficient for most of the analysis. But, sometimes it is necessary to analyze compiled classes either because the program is only available in byte-code, or the scope of analysis includes libraries that exist usually in binary form. Thus, being able to extract information from Java byte-code is paramount for the extension of some analyses, e.g., studying the dependecy structure of a project and the libraries it uses. Currently, the VizzAnalyzer does not feature information extraction from Java byte-code. To allow, e.g., the analysis of the project dependency structure, we extend the VizzAnalyzer tool with a bytecode front-end that will allow the extraction of information from Java bytecode. This thesis describes the design and implementation of the bytecode front-end. After we implemented and integrated the new front-end with the VizzAnalyzer, we are now able to perform new analyses that work on data extracted from both, source- and bytecode.