Dataflow Analysis in a Language Workbench

Master Thesis (2022)
Author(s)

M.D. Bijman (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Jeff Smits – Mentor (TU Delft - Programming Languages)

Sicco Verwer – Graduation committee member (TU Delft - Cyber Security)

S.S. Chakraborty – Graduation committee member (TU Delft - Programming Languages)

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2022 Matthijs Bijman
More Info
expand_more
Publication Year
2022
Language
English
Copyright
© 2022 Matthijs Bijman
Graduation Date
29-06-2022
Awarding Institution
Delft University of Technology
Programme
['Computer Science']
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Dataflow analysis is a powerful tool used for program optimization, static analysis, and editor services for many programming languages. Spoofax, a language workbench, contains a domain-specific language called FlowSpec for the definition of control-flow and dataflow semantics that language developers can use to implement dataflow analyses for their language. FlowSpec however cannot be used to efficiently optimize programs. Other solutions are not suitable for language developers, or lack the ergonomics of a domain-specific language. In this thesis we present Flock: an incremental implementation of FlowSpec. We analyze the performance of Flock and show that it is efficient enough for use in optimization pipelines. Flock gives language developers the tools to succinctly write dataflow analyses for a wide variety of applications.

Files

Thesis.pdf
(pdf | 0.746 Mb)
License info not available