Contributions to Declarative Implementation of Static Program Analysis
Author
Summary, in English
This thesis presents contributions to declarative static program analysis implementation with RAGs. In particular, I have developed new language extensions for the Java programming language, as well as new static analyses and tools for Java, based on the extensible Java compiler ExtendJ. Language extensions include an implementation of Java 7, and a new programming mechanism, multiplicities. A new static analysis-based tool presented in this thesis is a regression test selection tool, which reduces testing time for Java software development.
My contributions also include new design patterns for declaratively specifying static analyses in RAGs, and significant improvements to the ExtendJ compiler. My work in ExtendJ includes developing the first version of the compiler with fully declarative static analysis.
This dissertation also includes contributions to RAGs, including new algorithms for concurrent attribute evaluation with implementation in the JastAdd metacompiler. With these new algorithms, it is possible to parallelize any RAG-implemented analysis. In particular, I parallelized static analysis in the ExtendJ compiler to achieve a twofold speedup and orders of magnitude reduction of latency.
Department/s
Publishing year
2018-12-19
Language
English
Publication/Series
LU-CS-DISS
Volume
2019
Issue
01
Full text
Document type
Dissertation
Publisher
Department of Computer Science, Lund University
Topic
- Computer Science
Status
Published
Project
- Contributions to Declarative Implementation of Static Program Analysis
- ELLIIT LU P05: Scalable Language Tools for Cyber-Physical Systems
Supervisor
ISBN/ISSN/Other
- ISSN: 1404-1219
- ISBN: 978-91-7753-945-2
- ISBN: 978-91-7753-944-5
Defence date
18 January 2019
Defence time
13:15
Defence place
Hörsal E:1406, E-huset, Ole Römers väg 3, Lund University, Faculty of Engineering LTH
Opponent
- Julia Lawall (Senior Research Scientist)