← Back to projects
📊

JolieGraph

Academic Solo
JavaJolieStatic AnalysisDOT/Graphviz

JolieGraph is my bachelor's thesis project (University of Bologna, supervised by Prof. Ivan Lanese). It statically analyzes Jolie source code — a microservice-oriented programming language — and generates finite automata representing every communication path between services.

The tool parses Jolie programs using the jolie.lang library, builds Abstract Syntax Trees, and constructs IDFA (Initially Disconnected Finite Automata) that capture all communication primitives: OneWay, RequestResponse, Notification, SolicitResponse. It handles all Jolie constructs including conditionals, loops, NDChoice, ProvideUntil, fault handlers, and procedures. Output is in standard DOT format (Graphviz).