Gaëtan Staquet

Implementations

  1. ParaGraphs. Developer, 2025. Made in C++(20). This projects implements algorithms to determine the winning region of a player in a concurrent parameterized game. See my paper Antichains for Concurrent Parameterized Games. [Inria's GitLab]
  2. JSON Schema Tools. Developer, 2022. Made in Java. This project implements algorithms that validate whether a JSON document is correct with regards to a set of constraints given as a JSON schema. It can also generate valid and invalid documents from a schema. See my paper Validating Streaming JSON Documents with Learned VPAs. [GitHub]
  3. Validating JSON Documents with Learned VPAs. Developer, 2022. Made in Java. This implementation of the active learning algorithm of Daniel Neider and Christof Löding (Learning Visibly One-Counter Automata in Polynomial Time) was realized during my Master's internship, under the supervision of Guillermo A. Pérez. [GitHub]
  4. Forks of LearnLib and AutomataLib. Developer of the forks, 2020 – 2021. Made in Java. LearnLib is a library for active automata learning, and AutomataLib is the underlying automata library. Both are maintained at TU Dortmund University (Germany). These forks implement automata augmented with a counter, and their learning algorithm, presented in my paper Learning Realtime One-Counter Automata. [GitHub – AutomataLib] [GitHub – LearnLib]
  5. Benchmarks for learning one-counter automata. Developer, 2021 – 2022. Made in Java. This project runs the benchmarks of my paper Realtime One-Counter Automata. The implementation of the learning algorithm is done in my forks of AutomataLib and LearnLib. [GitHub]
  6. Conquesto. Developer, 2020. Made in Python 3. This tool was developed for a course followed during my Master, and that lead to the publication Optimization of Answer Set Programs for Consistent Query Answering by Means of First-Order Rewriting. It generates Answer Set Programming programs that decide whether a database query is certain, despite the presence of errors in the database. These programs are then benchmarked. [GitHub]
  7. Learning Visibly One-Counter Automata. Developer, 2019. Made in Java. This project, realized during my research initiation internship, implements an algorithm to compute Nash equilibria in reachability games played on weighted graphs. It also contains generators for random graphs to test and benchmark the algorithm. [GitHub]
  8. libgsjj – Passive learning of deterministic finite automata. Developer, 2018. Made in C++. This framework for passive learning of deterministic finite automata was realized during the project of my first year of Master. It uses a SAT solver to construct an automaton from a finite set of words that must be accepted and a finite set of words that must be rejected. [GitHub]
  9. Nash equilibria in reachability games. Developer, 2018. Made in C++. This project, realized during my research initiation internship, implements an algorithm to compute Nash equilibria in reachability games played on weighted graphs. It also contains generators for random graphs to test and benchmark the algorithm. It was performed under the supervision of Aline Goeminne. [GitHub]