PhD In State Machine Learning for Automated Program Repair

Updated: about 1 year ago
Deadline: 15 Feb 2023

Program repair is an emerging research field that allows to generate patches for faulty and/or vulnerable code in an automated fashion. Despite the advances reported in both academic articles and industry reports, modern program repair tools struggle to generate patches for complex bugs and vulnerabilities that span over multiple lines of code. Another common challenge is that these tools often generate “overfitting patches”, i.e., patches that are adequate according to the given specifications (i.e., they pass all tests) but are meaningless.

In this project, you will investigate the usage of state machines to improve the quality of the generated patches. Existing techniques solely rely on static program analysis and dynamic data collected via test execution. By building a behavioral software model, we aim to identify key program states leading to vulnerabilities. Such program states can be used to uncover vulnerabilities in addition to memory errors. Moreover, they are ideal locations to include patches such as bound checks, with the aim of fixing multiple vulnerable states at once.

You will work on the tools and theory for learning state machines through dynamic software analysis, and apply these for fault localization, patch generation, and to measure their quality.

You have:

  • an MSc/PhD in computer science, mathematics, or similar.
  • a keen interest in machine learning for software and security analysis.
  • a strong motivation for solving real world problems.
  • good analytical and problem solving skils.
  • excellent command of English speaking and writing.

Doing a PhD at TU Delft requires English proficiency at a certain level to ensure that the candidate is able to communicate and interact well, participate in English-taught Doctoral Education courses, and write scientific articles and a final thesis. For more details please check the Graduate Schools Admission Requirements .

Doctoral candidates will be offered a 4-year period of employment in principle, but in the form of 2 employment contracts. An initial 1,5 year contract with an official go/no go progress assessment within 15 months. Followed by an additional contract for the remaining 2,5 years assuming everything goes well and performance requirements are met.

Salary and benefits are in accordance with the Collective Labour Agreement for Dutch Universities, increasing from € 2541 per month in the first year to € 3247 in the fourth year. As a PhD candidate you will be enrolled in the TU Delft Graduate School. The TU Delft Graduate School provides an inspiring research environment with an excellent team of supervisors, academic staff and a mentor. The Doctoral Education Programme is aimed at developing your transferable, discipline-related and research skills.

The TU Delft offers a customisable compensation package, discounts on health insurance and sport memberships, and a monthly work costs contribution. Flexible work schedules can be arranged. For international applicants we offer the Coming to Delft Service and Partner Career Advice to assist you with your relocation.

Delft University of Technology is built on strong foundations. As creators of the world-famous Dutch waterworks and pioneers in biotech, TU Delft is a top international university combining science, engineering and design. It delivers world class results in education, research and innovation to address challenges in the areas of energy, climate, mobility, health and digital society. For generations, our engineers have proven to be entrepreneurial problem-solvers, both in business and in a social context.

At TU Delft we embrace diversity as one of our core values and we actively engage to be a university where you feel at home and can flourish. We value different perspectives and qualities. We believe this makes our work more innovative, the TU Delft community more vibrant and the world more just. Together, we imagine, invent and create solutions using technology to have a positive impact on a global scale. That is why we invite you to apply. Your application will receive fair consideration.

Challenge. Change. Impact!

The Faculty of Electrical Engineering, Mathematics and Computer Science (EEMCS) brings together three disciplines - electrical engineering, mathematics and computer science. Combined, they reinforce each other and are the driving force behind the technology we use in our daily lives. Technology such as the electricity grid, which our faculty is helping to make future-proof. We are also working on a world in which humans and computers reinforce each other. We are mapping out disease processes using single cell data, and using mathematics to simulate gigantic ash plumes after a volcanic eruption. There is plenty of room here for ground-breaking research. We educate innovative engineers and have excellent labs and facilities that underline our strong international position. In total, more than 1,100 employees and 4,000 students work and study in this innovative environment.

Click here to go to the website of the Faculty of Electrical Engineering, Mathematics and Computer Science.

Within the Cyber Analytics Lab of the Cyber Security group we perform research in Artificial Intelligence and Data Science for Software Engineering and Security. We aim is to get knowledge from software data and use that for analysis, anomaly detection, and classification/intrusion detection. Our focus is on developing learning algorithms for white-box models that can be understood by developers and security analysts, such as decision trees and state machines. We apply these for anomaly detection, (smart) fuzzing, AI testing, and search-based security and software testing.

For more information about this vacancy, please contact dr.ir. Sicco Verwer, [email protected]

Are you interested in this vacancy? Please apply before  February 15, 2023 via the application button and upload:

  • a motivation letter,
  • curriculum vitae,
  • degree certificates from previously attended university-level institutions,
  • a list of relevant publications,
  • names and numbers of two references
  • A pre-employment screening can be part of the selection procedure.
  • You can apply online. We will not process applications sent by email and/or post.
  • Acquisition in response to this vacancy is not appreciated.

Program repair is an emerging research field that allows to generate patches for faulty and/or vulnerable code in an automated fashion. Despite the advances reported in both academic articles and industry reports, modern program repair tools struggle to generate patches for complex bugs and vulnerabilities that span over multiple lines of code. Another common challenge is that these tools often generate “overfitting patches”, i.e., patches that are adequate according to the given specifications (i.e., they pass all tests) but are meaningless.

In this project, you will investigate the usage of state machines to improve the quality of the generated patches. Existing techniques solely rely on static program analysis and dynamic data collected via test execution. By building a behavioral software model, we aim to identify key program states leading to vulnerabilities. Such program states can be used to uncover vulnerabilities in addition to memory errors. Moreover, they are ideal locations to include patches such as bound checks, with the aim of fixing multiple vulnerable states at once.

You will work on the tools and theory for learning state machines through dynamic software analysis, and apply these for fault localization, patch generation, and to measure their quality.

You have:

  • an MSc/PhD in computer science, mathematics, or similar.
  • a keen interest in machine learning for software and security analysis.
  • a strong motivation for solving real world problems.
  • good analytical and problem solving skils.
  • excellent command of English speaking and writing.

Doing a PhD at TU Delft requires English proficiency at a certain level to ensure that the candidate is able to communicate and interact well, participate in English-taught Doctoral Education courses, and write scientific articles and a final thesis. For more details please check the Graduate Schools Admission Requirements .

Doctoral candidates will be offered a 4-year period of employment in principle, but in the form of 2 employment contracts. An initial 1,5 year contract with an official go/no go progress assessment within 15 months. Followed by an additional contract for the remaining 2,5 years assuming everything goes well and performance requirements are met.

Salary and benefits are in accordance with the Collective Labour Agreement for Dutch Universities, increasing from € 2541 per month in the first year to € 3247 in the fourth year. As a PhD candidate you will be enrolled in the TU Delft Graduate School. The TU Delft Graduate School provides an inspiring research environment with an excellent team of supervisors, academic staff and a mentor. The Doctoral Education Programme is aimed at developing your transferable, discipline-related and research skills.

The TU Delft offers a customisable compensation package, discounts on health insurance and sport memberships, and a monthly work costs contribution. Flexible work schedules can be arranged. For international applicants we offer the Coming to Delft Service and Partner Career Advice to assist you with your relocation.

Delft University of Technology is built on strong foundations. As creators of the world-famous Dutch waterworks and pioneers in biotech, TU Delft is a top international university combining science, engineering and design. It delivers world class results in education, research and innovation to address challenges in the areas of energy, climate, mobility, health and digital society. For generations, our engineers have proven to be entrepreneurial problem-solvers, both in business and in a social context.

At TU Delft we embrace diversity as one of our core values and we actively engage to be a university where you feel at home and can flourish. We value different perspectives and qualities. We believe this makes our work more innovative, the TU Delft community more vibrant and the world more just. Together, we imagine, invent and create solutions using technology to have a positive impact on a global scale. That is why we invite you to apply. Your application will receive fair consideration.

Challenge. Change. Impact!

The Faculty of Electrical Engineering, Mathematics and Computer Science (EEMCS) brings together three disciplines - electrical engineering, mathematics and computer science. Combined, they reinforce each other and are the driving force behind the technology we use in our daily lives. Technology such as the electricity grid, which our faculty is helping to make future-proof. We are also working on a world in which humans and computers reinforce each other. We are mapping out disease processes using single cell data, and using mathematics to simulate gigantic ash plumes after a volcanic eruption. There is plenty of room here for ground-breaking research. We educate innovative engineers and have excellent labs and facilities that underline our strong international position. In total, more than 1,100 employees and 4,000 students work and study in this innovative environment.

Click here to go to the website of the Faculty of Electrical Engineering, Mathematics and Computer Science.

Within the Cyber Analytics Lab of the Cyber Security group we perform research in Artificial Intelligence and Data Science for Software Engineering and Security. We aim is to get knowledge from software data and use that for analysis, anomaly detection, and classification/intrusion detection. Our focus is on developing learning algorithms for white-box models that can be understood by developers and security analysts, such as decision trees and state machines. We apply these for anomaly detection, (smart) fuzzing, AI testing, and search-based security and software testing.

For more information about this vacancy, please contact dr.ir. Sicco Verwer, [email protected]

Are you interested in this vacancy? Please apply before  February 15, 2023 via the application button and upload:

  • a motivation letter,
  • curriculum vitae,
  • degree certificates from previously attended university-level institutions,
  • a list of relevant publications,
  • names and numbers of two references
  • A pre-employment screening can be part of the selection procedure.
  • You can apply online. We will not process applications sent by email and/or post.
  • Acquisition in response to this vacancy is not appreciated.


Similar Positions