teaching

Courses taught at Vrije Universiteit Brussel (VUB).

Courses

Bachelor

Master

PhD alumni of the group are listed on the group page.

Master’s Theses Supervised

  • Mikhail Korotych — Empirical Study on OpenAPI Server Implementations (2024-2025)
  • Arman Kolozyan — Language-Agnostic Detection of Computation-Constraint Inconsistencies in ZKP Programs via Value Inference (2024-2025)
  • Bríter Andrés González Daza — Automating the Optimization of Dockerfiles for Incremental Docker Builds (2024-2025)
  • Cédric Collette — Identifying Infrastructure Security Vulnerabilities through Information Flow Analysis (2024-2025)
  • Ilyas Saïd Makari — Is Your Software Supply Chain Safe? Evaluating the Reachability of Vulnerable APIs in JavaScript (2024-2025)
  • Taha El Hihi — Predicting Software Performance Degradation using Machine Learning (2023-2024)
  • Ruben Crokaert — Mutation-Based Fuzzing of AWS Lambda Applications (2023-2024)
  • Sarah Verbelen — Abstract Slicing for Static Program Analysis (2023-2024)
  • James Stoels — Security Weaknesses in GitHub Actions Workflows (2023-2024)
  • Wietse Van den Hove — Heuristic-Based Guided Concolic Testing (2023-2024)
  • Andes Van Lancker — Modular WCET Analysis of Dynamic Higher-Order Programs (2022-2023)
  • Ian Angilis — Follow Your Nose - Consolidating and detecting Dockerfile smells with a focus on bloaters and layer optimization (2022-2023)
  • Mathias Mallinus — Symbolic Execution for Reasoning with Separation Logic (2022-2023)
  • Christophe Van den Eede — Error Ranking for Higher-Order Programs Using Static Profiling (2022-2023)
  • Achiel Vandevivere — Resilience Testing in Spring - A Resilience Tester for the Java Framework Spring (2022-2023)
  • Milan Mancel — Setting the Facts Straight - Automated Fix Suggestions for Dangerous Variables in Ansible Infrastructure as Code (2022-2023)
  • Jonas Lesy — The DockerHub Inheritance Network - An Empirical Analysis (2022-2023)
  • Turgut Reis Kursun — Time and Space Efficient Delta Debugging for Scheme (2022-2023)
  • Arne Van Quickelberghe — Graph-Based Security Smell Detection for Infrastructure as Code (2021-2022)
  • Cindy Wauters — Transforming Analysis Results According to Source Code Change Patterns (2021-2022)
  • Diederik Roelandt — Identifying Bug-Inducing Changes Using Cross-Project JIT Defect Prediction in Infrastructure Configuration Code (2021-2022)
  • Bram Vandenbogaerde — Iterative Collaborative Analysis: Improving Soft Contract Verification using Unsound Assumptions (2020-2021)
  • Bert Van Mieghem — Detecting Data Races in Dynamic Web Applications via Concolic Testing (2020-2021)
  • Patrick Gakuo — Heuristics-Guided Resilience Testing of Persistent Actor Implementations (2019-2020)
  • Emile Sonneveld — Detecting Code Smells in Scala (2018-2019)
  • Ruben Opdebeeck — Exploring Static Inter-Procedural API Misuse Detection Using Graph Inlining (2018-2019)
  • Sébastien Vansomeren — Exploration Heuristics for the Dynamic Symbolic Execution of Event-Driven Web Applications (2018-2019)
  • Olivier Pirson — Parallélisation d’un interpréteur abstrait au travers du modèle acteur — Application à l’interpréteur abstrait Scala-AM (2018-2019)
  • Jens Van der Plas — Incremental Thread-Modular Static Analysis for Concurrent Programs with Futures and Atoms (2018-2019)
  • Joachim Maes — Soft Contract Verification in SCALA-AM (2017-2018)
  • Dylan Meysmans — Horizontal Tier Splitting to Micro-Services (2017-2018)
  • Noah Van Es — Incrementalizing Abstract Interpretation (2016-2017)
  • Silke Verhaege — Untangling Fine-Grained Source Code Changes Using Program Slicing (2016-2017)
  • Jolien Declerck — An Empirical Study into Commit Types Resolving Merge Conflicts (2016-2017)
  • Douglas Horemans — Static Verification of Dynamic Security Policies (2016-2017)
  • Jonas De Bleser — Static Taint Analysis for Event-driven Programs: An Abstracting Abstract Machines Approach (2015-2016)
  • Valentijn Spruyt — Static Detection of User-specified Security Vulnerabilities in Client-side JavaScript (2015-2016)
  • Sara Mohamed Samir Mohamed — Expressing and Verifying Structural Software Change Obligations (2015-2016)
  • Angeliki-Ionna Katsiampouri — Reasoning about Common JavaScript Mistakes (2015-2016)
  • Arvid Demeyer — Mining Change Histories for Unknown Refactorings (2014-2015)
  • Ward Muylaert — Function Summaries in Concolic Testing of JavaScript (2014-2015)
  • Diel Caroes — Towards Failure Handling in Tierless Web Applications (2014-2015)
  • Xinran AI — Tier Splitting using Static Analysis (2014-2015)
  • Zahra Ahmadi — An Empirical Study of the Dynamic Behavior of JavaScript Programs (2014-2015)
  • Maarten Vandercammen — The Essence of Meta-Tracing Just-in-Time Compilers (2014-2015)
  • Quentin Stiévenart — Static Analysis of Concurrency Constructs in Higher-Order Programs (2013-2014)
  • Siltvani — A Workbench for Template-driven Program Transformation (2012-2013)
  • Kevin De Valck — A Logic-based Refactoring Framework for JavaScript (2012-2013)
  • Reinout Stevens — Source Code Archeology using Logic Program Queries across Version Repositories (2010-2011)
  • Wouter Amerijckx — Language Support for Programming Interactions among Wireless Sensor Network Nodes (2010-2011)
  • Ruben Vandamme — Implementing Concurrency Abstractions for Programming Multi-Core Embedded Systems in Scheme (2009-2010)
  • Jens Nicolay — Automatic Parallelization of Scheme Programs using Static Analysis (2009-2010)
  • Karlien Mollemans — Fuzzy Intensional Views (2006-2007)
  • Kim Gybels — Een Declaratief Metaprogrammeer Platform voor Domein-specifieke Run-time Verificatie van Imperatieve Programma’s (2004-2005)

Bachelor’s Theses Supervised

  • Seppe Wyns — Leveraging Program Dependence Graphs to Assist Ansible Developers (2022-2023)
  • Louis Verstraeten — Type Checking Ansible Infrastructure Code (2022-2023)
  • Mats Van Molle — A Debugger for Abstract Interpreters (2022-2023)
  • Thomas Vandermotten — Optimizing Scheme Programs using Static Analaysis (2022-2023)
  • Abdullah Sabaa Allil — Optimising Static Program Analysis using Scala Native (2022-2023)
  • Arman Kolozyan — Dependency-Driven Worklist Heuristics for Modular Analyses (2022-2023)
  • Maxim Brabants — Towards Human-in-the-Loop Concolic Testing (2022-2023)
  • Niels Koops — Input type inference for concolic testing of JavaScript (2022-2023)
  • Mehdi Sarrouk — Soft contract elimination for higher-order dynamic programming languages (2022-2023)
  • Wim Hulsmans — Automated Test Case Generation for JavaScript Functions via Concolic Testing (2021-2022)
  • Lennert Saerens — Neural Lego: Generating Neural Networks with Reactive Building Blocks (2021-2022)
  • Turgut Reis Kursun — RacketLogger: Logging Changes from the DrRacket Code Editor (2020-2021)
  • Wietse Van den Hove — Visualising a Static Analysis (2020-2021)
  • Ilyas Saïd Makari — On License Compatibility in Dependency Network of OSS Package Repositories (2020-2021)
  • Ruben Crockaert — Extending Stackful - Implementing Input Objects to Improve Automated Testing of JavaScript (2020-2021)
  • Florian Van Belleghem — Tracking Performance Regressions in Git Repositories (2020-2021)
  • Cindy Wauters — Mining Stack OverFlow to Recommend Solutions for GitHub Issues (2019-2020)
  • Corneel Soete — Managing State in First-Class Machine Learning Models: a Racket Study of the Language Construct Called Worlds (2019-2020)
  • Dries Van de Steen — Exploring the Smart Contract Co-Dependency Network on Ethereum Blockchain (2019-2020)
  • Erinn Van der Sande — Uncovering the Hidden Patterns of Source Code, One Commit at a Time (2019-2020)
  • Lin de Huybrecht — Technical Lag on Stack Overflow (2019-2020)
  • Bram Vandenbogaerde — Empirical Evaluation of Object-Oriented Software Metrics for Solidity Smart Contracts (2018-2019)
  • Maxime Gilles Coene — ConfCrawlendar: Extractie van Conferentie-informatie uit mailing lists (2018-2019)
  • Bert Van Mieghem — Automatisch Testen van Dynamische Websites - Uitbreiden van een Concolic Tester (2018-2019)
  • Sjors Dekkers — An Interactive Abstract Interpreter (2018-2019)
  • Jelte De Proft — Visualizing Program Execution Traces in JavaScript (2016-2017)
  • Jens Van der Plas — Ondersteuning voor R5RS-Sceme in het Scala-AM framework (2016-2017)
  • Ruben Opdebeeck — Towards Template-Driven Source Code Transformations in C++ (2016-2017)
  • Thibaut Deweert — Detecting Code Clones in PL/SQL-queries used by CaLi (2016-2017)
  • Bjarno Oeyen — Extending tierless JavaScript with an HTML templating system (2015-2016)
  • Francis Reynders — PeopleCode Scanner: Scanning CaLi Code for Style Violations and Bug Patterns (2015-2016)
  • Badreddine Hachoumi — Detecting Code Clones in the Implementation of CaLi (2015-2016)
  • Jo De Neve — A Visualisation of Distributed Dependencies in Tierless Programs (2015-2016)
  • Silke Verhaege — A Clojure Library for Design Assessment of PHP Software (2014-2015)
  • Noah Van Es — Performant Scheme Interpreter in asm.js (2014-2015)
  • Evgeni Ivakhnov — Javascript Extractor 2.0 (2012-2013)
  • Brecht De Rooms — A Tangible Programming Platform for Live Coding (2009-2010)
  • Dennis D’Hooge — Educational Platform for Programming Embedded Systems in Scheme (2009-2010)
  • Dries Harnie — A Polyglot-backend for Irish (2006-2007)