Dataflow Analysis in a Language Workbench

Matthijs Bijman

Date: Wed, June 29, 2022
Time: 15:00
Room: Lecture Hall F (building 36) / Matthijs' Zoom Room
Note: This is a MSc thesis defense

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 succintly write dataflow analyses for a wide variety of applications.

Previous: Loek van der Gugten |
Next: Ivo Wilms |