Noosphere exploration with the greatest company:
- Benoit Baudry, Navigation & Radio
- Matias Martinez, Special ops
- Deepika Tiwari, postdoc at KTH
- Khashayar Etemadi, postdoc at KTH
- Javier Ron, PhD student at KTH
- Frank Reyes, PhD student at KTH
- André Silva, PhD student at KTH
- Aman Sharma, PhD student at KTH
- Sofía Bobadilla, PhD student at KTH
- Vivi Andersson, PhD student at KTH
- Monica Jin, Raphina Liu, research engineers at KTH
- other travel partners
Carefully advising PhD students to train them to do high-impact science is very important to me.
How to work in my group?
KTH Student There are multiple solutions to work together:
- [Project course] See “Advanced Individual Course in Computer Science” (DD2463 15hp) (ID2205) (I would be your course supervisor)
- [Master’s thesis / Bachelor’s thesis] See open topics
- [Research assistant] You can apply to be a research assistant (aka research amanuens), which is typicaly a 20% research job, where you get paid by KTH.
International Student Are you looking for an internship? I propose internships in Stockholm (no remote), drop me an email.
Postdoc: Are you looking for a postdoc position to perform world-class research? drop me an email.
Past students
Graduated PhDs as main supervisor:
- Matias Martinez graduated on Oct 10 2014 on Extraction and Analysis of Knowledge for Automatic Software Repair (University of Lille), co-advised with Laurence Duchien
- Benoit Cornu, graduated on Nov 26 2015 on Automatic Analysis and Repair of Exception Bugs for Java Programs (University of Lille), co-advised with Lionel Seinturier
- Vincenzo Musco, graduated on Nov 3 2016 on Propagation Analysis based on Software Graphs and Synthetic Data (University of Lille), co-advised with Philippe Preux
- Thomas Durieux, graduated on Sep 25 2018 on From Runtime Failures to Patches: Study of Patch Generation in Production (University of Lille), co-advised with Youssef Hamadi and Lionel Seinturier
- Benjamin Danglot, graduated on Nov 13 2019 on Automatic unit test amplification for DevOps (University of Lille), co-advised with Lionel Seinturier and Benoit Baudry
- Long Zhang, graduated on Nov 29 2022 on Application-level Chaos Engineering (KTH Royal Institute of Technology), co-advised with Benoit Baudry
- He Ye, graduated on Feb 24 2023 on Improving the Precision of Automatic Program Repair with Machine Learning (KTH Royal Institute of Technology), co-advised with Matias Martinez and Benoit Baudry
- Zimin Chen, graduated on Dec 11 2023 on Source Code Representations of Deep Learning for Program Repair (KTH Royal Institute of Technology), co-advised with Benoit Baudry
- Khashayar Etemadi, graduated on Nov 22 2024 on Efficient Exploration and Analysis of Program Repair Search Spaces, co-advised with Fernanda Madeiral
Graduated PhDs as secondary supervisor:
- Alexandre Bartel graduated on Sep 8 2014 on Security Analysis of Permission-Based Systems using Static Analysis: An Application to the Android Stack (University of Luxembourg), co-advised with Jacques Klein and Yves Le Traon
- Nicolas Harrand, graduated on May 5 2022 on Software Diversity for Third-Party Dependencies (KTH Royal Institute of Technology), co-advised with Benoit Baudry.
- César Soto-Valero, graduated on June 1 2023 on Debloating Java Dependencies (KTH Royal Institute of Technology), co-advised with Benoit Baudry.
- Javier Cabrera-Arteaga, graduated on March 7 2024 on Software Diversification for WebAssembly, co-advised with Benoit Baudry
- Deepika Tiwari, graduated on Dec 13 2024 on Augmenting Test Oracles with Production Observations, co-advised with Benoit Baudry
Master’s theses supervised/examined at KTH:
- Gabriele Morello, FLAMES : Fine-tuned Large Language Model for Invariant Synthesis (2025)
- Viktor Åryd, AST Differencing for Solidity (2025)
- Oliver Schwalbe Lehtihet, From Blueprint to Reality : Evaluating the Feasibility of Air-gapped Maven Builds (2025)
- Gustav Andersson Kasche, InvPurge : Reducing Invariant Noise with Logical Differencing (2025)
- Merlijn Sevenhuijsen, Effectiveness of Large Language Models to Generate Formally Verified C code (2024)
- Vivi Andersson, Geth Rebuild : Verifiable Builds for Go Ethereum (2024)
- Felix Nordström Qvarfordt, Measuring the Vulnerability Lifecycle in the Software Supply Chain via SBOM Scans (2024)
- Daniel Williams, The Embedding and Retrieval of Software Supply Chain Information in Java Applications (2024)
- Federico Bono, Automatic Program Repair For Breaking Dependency Updates With Large Language Models (2024)
- Arvid Siberov, Mitigating CI/CD threats through an extended access control model (2024)
- Titouan Forissier, EVeilM : EVM Bytecode Obfuscation (2024)
- Fernando Vallecillos Ruiz, Round-Trip Translation : A New Path for Automatic Program Repair using Large Language Models (2023)
- Dávid Hidvégi, Token Budget Minimisation of Large Language Model based Program Repair (2023)
- Dhruv Navin Shetty, Minimizing Blast Radius of Chaos Engineering Experiments via Steady-State Metrics Forecasting (2023)
- Erik Cruz, An initial investigation of Automatic Program Repair for Solidity Smart Contracts with Large Language Models (2023)
- Caroline Borg, Minimization of Model-based Tests in Modbat (2023)
- Nikolai Limbrunner, Dynamic macro to micro scale calculation of energy consumption in CI/CD pipelines (2023)
- Paul Moosbrugger, Dasty : Revealing Real-World Prototype Pollution Consequences with Dynamic Taint Analysis (2023)
- Pengyu Zhao, An Empirical Study on Using Codex for Automated Program Repair (2023)
- Trolle Geuna, Integrating change requests in a CI/CD pipeline (2023)
- Niklas Rosencrantz, Diverse Double-Compiling to Harden Cryptocurrency Software (2023)
- Balthazar West, The temporal side of pull request acceptance (2023)
- Yannik Sander, Design and Implementation of the Language Server Protocol for the Nickel Language (2023)
- Leonard Stutzer, State Validation of Ethash-based Blockchains using a zk-SNARK-based Chain Relay (2022)
- Love Brandefelt, Decompilation of WebAssembly using Datalog (2022)
- Ziyi Xiang, Java Syntax Error Repair Using RoBERTa (2022)
- Adam Benali, An Initial Investigation of Neural Decompilation for WebAssembly (2021)
- Vincent Lohse Exploring the Usage of Neural Networks for Repairing Static Analysis Warnings (2021)
- Adam Björnberg, Cloud native chaos engineering for IoT systems (2021)
- Javier Ron, Scaling the Simulation Core of Modifiable Virtual Environments with Serverless Computing (2021)
- Gunnar Applelid, Evaluating template-based automatic program repair in industry (2021)
- Jesper Lundholm, KtSpoon : Modelling Kotlin by extending Spoon’s Java Metamodel (2021)
- Miguel Müller, Self-healing Javascript Errors Caused by the Browser Extension Privacy Badger (2021)
- Adriaan Knapen, Chaos Engineering for Containerized Applications with Multi-Version Deployments (2021)
- Henry Luong Phu, Contributions to the usability of Sorald for repairing static analysis violations (2020)
- Mikael Forsberg, Design and Implementation of Semantic Patch Support for the Spoon Java Transformation Engine (2021)
- Andrew Bwogi, Metametaprogramming for Java with Spoon (2020)
- Abgeiba Yaroslava Isunza Navarro, Evaluation of Attention Mechanisms for Just-In-Time Software Defect Prediction (2020)
- Yi-Pei Tu, Self-healing Middleware Support for Python/Django Web Applications (2020)
- Julius Colliander Celik, Plutt: A tool for creating type-safe and version-safe microfrontends (2020)
- Simon Larsén, Spork: Move-enabled structured merge for Java (2020)
- John Kvarnefalk, Pseudo-tested Methods in an Android Continous Integration Environment (2020)
- Jian Gu, Multi-modal Neural Representations for Semantic Code Search (2020)
- Haris Adzemovic, A template-based approach to automatic program repair of Sonarqube static warnings (2020)
- Alexander Koski, Randomly perturbing the bytecode of white box cryptography implementations in an attempt to mitigate side-channel attacks (2019)
- Arsalan Syed, Investigating the Practicality of Just-in-time Defect Prediction with Semi-supervised Learning on Industrial Commit Data (2019)
- Rami Karim, Test case prioritization in the context of a video game development project (2019)
- Erik Lundsten, EALRTS : A predictive regression test selection tool (2019)
- Yonas Ghidei, Lineage-driven Fault Injection for Actor-based Programs (2019)
- Jesper Simonsson, Observability and Chaos Engineering for System Calls in Containerized Applications (2019)
- Rickard Björklund, Software Reuse in Game Development (2019)
- Anders Sjöbom, Studying Test Flakiness in Python Projects (2019)
- Henrik Karlsson, Limiting Transitive Closure for Static Regression Test Selection approaches (2018)
- Zimin Chen, The Essence of Similarity in Redundancy-based Program Repair (2018)
Master’s theses:
- Benjamin Danglot, (M.Sc. at University of Lille, 2016) on “Correctness Attraction”
- Thomas Durieux (M.Sc. at University of Lille, 2015) on “Dynamic Synthesis for Automatic Repair”
- Sebastian Lamelas (M.Sc. at University of Buenos Aires, 2014) on “Automatic Repair of Infinite Loops”
- Favio DeMarco (M.Sc. at University of Buenos Aires, 2013) on “Automatic Repair of Buggy If-Conditions”
- Diego Mendez (M.Sc. at UNICEN, 2012) on “Empirical Evidence of Large-Scale Diversity in API Usage of Object-Oriented Software”
- Alper Ortac (M.Sc. at TU Darmstadt, 2011) on “Lightweight composition and reuse of legacy web applications by automated imitation of human actions”
- Markus Kimmig (M.Sc at TU Darmstadt, 2011) on “Querying Source Code with Natural Language”
- Kim David Hagedorn (M.Sc at TU Darmstadt, 2011)
- Elif Tekeş (M.Sc. at TU Darmstadt, 2011) on “An Empirical Study on API Documentation”
- Benoit Long (M.Sc./Engineer at ENSIETA, 2008) on “Dimensionnement précoce d’un système de patrouille maritime” (Early Measurement of Maritime Surveillance Systems)
- Fabre Jaozafy (M.Sc./Engineer at ENSIETA, 2007) on “Réalisation d’un simulateur d’un système de patrouille maritime par une approche ingénierie dirigée par les modèles” (Model-driven Simulation of Maritime Surveillance Systems)
Bachelor’s theses:
- Aram Eskandari, Benjamin Tellström (KTH, 2018) on Analysis of the Performance Impact of Black-box Randomization for 7 Sorting Algorithms
- Tai Luong, Anton Zubayer (KTH, 2018) on “Simulation of chaos engineering for Internet-scale software with ns-3”
- Maxime Clément (University of Lille, 2014) on “Evaluating Nopol”
- Julien Langlois (University of Lille, 2013) on software diversity
- Anthony Maia (University of Lille, 2012) on “Debugging with Stackoverflow”
- Maxence Germain de Montauzan (University of Lille, 2012) on “Empirical Study of Exception Handling”
- Stefan Henß (TU Darmstadt, 2011) on “Automatically Extracting Software Development FAQs Using Latent Dirichlet Allocation”
Mentoring:
- Research engineers
- Postdocs:
- Jifeng Xuan, full professor, Wuhan University
- Zhongxing Yu, full professor, Shandong University
- Fernanda Madeiral, assist. professor, VUB Amsterdam
Academic genealogy
I am the grateful academic child of Jean-Marc Jézéquel, my PhD advisor. I learned a lot with my postdoc mentor Mira Mezini, my Master’s thesis advisor Yoshua Bengio and my friend Benoit Baudry.