Combining source code metadata and static analysis results via a compiler plug-in

Postgraduate Thesis uoadl:1325193 335 Read counter

Unit:
Κατεύθυνση / ειδίκευση Υπολογιστικά Συστήματα: Λογισμικό και Υλικό (ΣΥΣ)
Πληροφορική
Deposit date:
2016-11-24
Year:
2016
Author:
Antoniadis Anastasios
Supervisors info:
Γιάννης Σμαραγδάκης, Καθηγητής, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ
Original Title:
Συνδυάζοντας μεταδεδομένα πηγαίου κώδικα και αποτελέσματα στατικής ανάλυσης μέσω μιας επέκτασης για το μεταγλωττιστή
Languages:
English
Greek
Translated title:
Combining source code metadata and static analysis results via a compiler plug-in
Summary:
As static program analysis techniques keep evolving, leading to higher precision and improved soundness, analysis results become all the more useful for consumption by code comprehension tools. However, performing static analysis on a low-level IR (such as bytecode) often leads to the loss of some source-code-level information. This thesis presents a Java 8 compiler plugin that introduces a new phase to the compilation process in order to generate metadata for classes, variables, fields, methods, method invocations, and heap allocations. This metadata can then be used to associate low-level analysis results with the source code of the program. The emphasis of the work is on leveraging the extensible architecture of the recent official Java compiler implementations. We show how each facility of the Oracle Java compiler plugin infrastructure operates and how it is employed in our system. As an application, we demonstrate how the enriched analysis results are presented on a web-based source code viewer.
Main subject category:
Technology - Computer science
Keywords:
Points-to analysis, Java compiler plug-ins, Code comprehension tools
Index:
Yes
Number of index pages:
2
Contains images:
Yes
Number of references:
4
Number of pages:
47
thesis-final.pdf (381 KB) Open in new window