The TU Delft Software Engineering Research Group has the following vacancy:

PhD Position Developer-centred Just-in-Time Test Generation

Tired of writing endless tests? Join our research team and help us revolutionize software development with Just-in-Time Test Generation tools for developers.

If you would like more information about this vacancy or the selection procedure, please contact Carolin Brandt, c.e.brandt@tudelft.nl. You can also learn more about ongoing projects of the Human- and Developer-centered Software Engineering research line and the Software Quality research line.

To apply, please visit the application website.

Job description

Software developers are asked to write comprehensive tests for the code they are creating, which can be a tedious and time-consuming task for them. To help them, researchers are developing a variety of automatic test generation tools. However, current state-of-the-art test generation methods often require the code under test to be fully completed before tests can be generated. This conflicts with our requests to developers to create tests directly when they are writing their production code.

To support developers, we aim to develop tools that closely collaborate with them by studying the code they write and directly proposing relevant generated tests. This type of Just-in-Time test generation would enable many new possibilities to create high-quality software with comprehensive and effective tests early in the programming process.

As a PhD student in this postion, you will lay out the foundations for Just-in-Time test generation and have the opportunity to design, prototype and evaluate new tools and techniques for test generation.

The technologies you work with will be driven by your interest. This could be test amplification, search-based test generation or generative artificial intelligence and large language models. To realize Just-in-Time test generation you will work with source code analysis tools and build prototypes for developer IDEs such as IntelliJ, VS Code or others.

In your research, you will first learn to, and later independently… :

  • Apply qualitative and quantitative research methods to study the experiences of developers with just-in-time test generation.
  • Develop and evaluate new techniques for detecting test-worthy code changes and quickly generating incremental and effective tests.
  • Design and conduct user studies to assess the effectiveness of the proposed tool.
  • Collaborate with other researchers and developers to strengthen the tool’s practical applicability.
  • Communicate your research findings by publishing in and presenting at top-tier academic conferences and journals.

The PhD candidate will be embedded in the Software Engineering Research Group at TU Delft, an internationally recognized research group with a strong focus on quality in software engineering, while encompassing a wide range of software engineering topics like AI for SE, sustainability, DevOps and testing of distributed systems. The candidate will have the opportunity to collaborate with experienced researchers, attend conferences, and experience an international research environment. The position will focus on research, with optional contributions to education and supervision of students.

We are committed to creating a diverse and inclusive research environment and encourage applications from all qualified candidates, regardless of their background or experience. We believe that diversity contributes to a more innovative and creative research community. If you do not meet some of the optional requirements listed, we encourage you to still apply and explain how your unique experience and skills can contribute to our research.

Requirements

Required (by the Graduate School of TU Delft):

  • Master’s degree in Computer Science, Software Engineering, or a related field.
  • Proficiency in the English language (https://www.tudelft.nl/onderwijs/opleidingen/phd/admission)

Optional requirements:

  • Programming skills in languages such as Java, Python or C++.
  • Knowledge of software engineering and software testing methodologies and tools.
  • Interest and motivation to develop excellent research and analytical skills, such as a critical attitude, self-organization and academic writing.
  • Passion to consider the humans that create and use software.

Learn more about the work environment and conditions of employment

To hear more about the TU Delft as an employer and the Faculty of Electrical Engineering, Mathematics and Computer Science, please have a look at the application website: https://careers.tudelft.nl/job/Delft-PhD-Position-Developer-centred-Just-in-Time-Test-Generation-2628-CD/808091502/

If you would like more information about this vacancy or the selection procedure, please contact Carolin Brandt, c.e.brandt@tudelft.nl.

Application procedure

Are you interested in this vacancy? Please apply no later than January 12, 2025 via the application button and upload the following documents:

  • CV
  • Motivational letter In your motivational letter, please sketch two possible first research projects you envision to start on the topic of developer-centered just-in-time test generation. Also include why you want to pursue a PhD at the Delft University of Technology and our research group. If you have previously written academic works (theses, papers, …), please include them or links to them in your application package.

We will review applications on a rolling basis so early submissions are appreciated.