Category: projects
-
Fandango Goes Protocol
When we released Fandango, the most common question we got was: can it test protocols? It’s a fair ask. A lot of the most interesting and security-critical software out there doesn’t just read a file — it talks. FTP servers, DNS resolvers, custom binary protocols — these systems communicate through structured, stateful exchanges where every…
-
Fandango is Live
After months of building, testing, and a few too many late nights debugging evolutionary algorithms, Fandango is officially out. Fandango is an open-source fuzzer I’ve been developing as part of my PhD at CISPA Helmholtz Center for Information Security. The core idea came from a simple frustration: most fuzzers are either too dumb or too…
-
Better-Distributed Grammar-Based Fuzzing
UniFuzz is a grammar-based fuzzing tool that generates test suites with better input distribution. Instead of randomly sampling from a grammar (which tends to produce short, repetitive inputs), UniFuzz lets you specify how values should be distributed — uniform, normal, or custom — and generates a population that actually covers the input space. You define…
-
Build your own SQL Grammar-based Fuzzer
This is an interactive exercise for the audience at the Fuzzing and Software Security Summer School at the National University of Singapore. For this project, you will build a grammar-based blackbox fuzzer to test SQLite, which is the most widely deployed SQL database engine in the world. SQLite is implemented in C and for this…
-
Solving the Minimum Weighted Dominating Set Problem
Given a weighted graph, a dominating set is a subset of vertices such that every vertex outside the set is adjacent to at least one vertex inside it, and the sum of incident edge weights meets a minimum threshold K. Finding the smallest such set is NP-hard. This project implements an Iterated Greedy algorithm with…
-
A Contribution to FLAMA
FLAMA is an open-source Python library for feature model analysis, developed at the Universidad de Sevilla and used in several international research publications. My contribution focused on extending the API to support a broader set of feature model operations, making it easier for researchers and developers to work with variability models programmatically. This was part…
-
Efficient Chatbot Generation
This project applies software product line engineering to chatbot development. Instead of building each chatbot from scratch, the idea is to define a single feature model that captures the variability across a family of chatbots — intents, NLP agents, and interaction flows — and generate tailored configurations from it. The result is a tool with…
-
Feature Model Analysis in Constraint-Based Reasoning
This project accompanies our paper published at SPLC 2023, which explores how feature models can be integrated into constraint-based recommender systems. The core contribution is a set of runtime analysis operations that go beyond static feature model analysis — designed to work in dynamic, real-world recommendation contexts. We demonstrate the approach with a concrete case…
-
Automated Website Generation with Software Product Lines
WebSPL is a prototype tool that applies software product line engineering to website generation. Instead of building sites manually, users select features through a configuration interface, and WebSPL automatically assembles a valid, fully functional website from plugins, themes, and content — no manual coding required. The core idea is to treat a family of websites…