Thomas Durieux

Ph.D. in software engineering, he focuses on automatic patch generation to fix applications directly in production.

About Me: I am currently doing a Post-Doc at INESC-ID, University of Lisbon in Portugal. I am working on automatic patch generation technique and fault localization. I did my Ph.D. at University of Lille, France. My research interest is in automatic software repair and especially in automatic patch generation for the production.

Quick Biography: Post-doc at INESC-ID, University of Lisbon in Portugal; Ph.D. from University of Lille, France; M.S. degrees, Computer Science, from the University of Lille; B.A., Computer Science, from Institut Paul Lambin in Belgium. During my studies, I did several internships as well in the industry (Microsoft Innovation Center, Emakina) as in the academic (KTH, CERN). I also created and maintain several open-source projects for research purposes and more.

Location: Lisbon, Portugal
Email: thomas|@|durieux.me
Twitter: thodurieux
GitHub: tdurieux
Scholar: tdurieux
LinkedIn: thomasdurieux


  • INESC-ID, University of Lisbon in Portugal 
    / Feb. 2019 - current

    Post-doc - Post-doc on fault localization and patch generation.

  • Carnegie Mellon University 
    / Feb. 2019 - Dec 2019

    Visiting researcher - I worked with Claire Le Goes on a study that analyze the reasons that motivate the developers to restart builds on TravisCI.

  • KTH 
    / Apr. 2018 - Jun. 2018

    Ph.D. internship - International internship at KTH in the Theoretical Computer Science department.

  • KTH 
    / Sep. 2017 - Dec. 2017

    Ph.D. internship - International internship at KTH in the Theoretical Computer Science department. I worked on a new patch generation technique. This technique aims to fix automatically bug in websites. We adopted a crowdsourced approach where all the user contribute to the detection and repair of the bugs.

  • INRIA 
    / Sep. 2015 - current

    Ph.D. Student - The motivation of my thesis is to improve automatic patch generation techniques. The state of the art techniques still rely on the developer to reproduce the bug, they rely on a failing test-case that describes the bug. My thesis presents new approaches that aim to removes the developer intervention during the patch generation.

  • INRIA 
    / Mar. 2015 - Aug. 2015

    Master Thesis - I worked on the Nopol project, a test-suite-based automatic program repair approach that fixes buggy conditions. Firstly, I used symbolic execution engine to extend Nopol repair scope to buggy arithmetic statements. Secondly, I worked on the first patch synthesizer that generates patches that contains complex method invocations.

  • CERN 
    / Summer 2014

    Internship - I worked with CERN security team, where I created a scanner that detects misconfigurations and outdated libraries in the thousands of WEB servers of the CERN institution. The goal of this scanner was to ensure that all the servers do not have known security issues.

  • Microsoft Innovation Center 
    / Mar. 2013 - Jun. 2013

    Internship - I developed the backend infrastructure to create a SAS version of the Aproove product. Aproove is an annotation and validation system for high-resolution graphics document, i.e. magazine. To goal was to be able to quickly deploy and backup Aproove instances on different hosts.


  • University of Lille 
    / Sep. 2016 - Jun. 2018

    Teaching Assistant - I minister the lecture on Software Engineering for first-year master students and the lecture of Algorithm and Programming for first-year bachelor students.
  • Institut Paul Lambin 
    / Sep. 2012 - Jun. 2013

    Tutor - I provided remedial courses in computer science to first year students.



Last Updated: 09/12/2019