项目介绍
Tired of writing endless tests? Join our research team and help us revolutionize software development with Just-in-Time Test Generation tools for developers.
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.
TU Delft (Delft University of Technology)
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!
Faculty Electrical Engineering, Mathematics and Computer Science
The Faculty of Electrical Engineering, Mathematics and Computer Science (EEMCS) brings together three scientific disciplines. Combined, they reinforce each other and are the driving force behind the technology we all use in our daily lives. Technology such as the electricity grid, which our faculty is helping to make completely sustainable and future-proof. At the same time, we are developing the chips and sensors of the future, whilst also setting the foundations for the software technologies to run on this new generation of equipment – which of course includes AI. Meanwhile we are pushing the limits of applied mathematics, for example mapping out disease processes using single cell data, and using mathematics to simulate gigantic ash plumes after a volcanic eruption. In other words: there is plenty of room at the faculty for ground-breaking research. We educate innovative engineers and have excellent labs and facilities that underline our strong international position. In total, more than 1000 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.
Conditions of employment
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 € 2872 per month in the first year to € 3670 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 a monthly work costs contribution. Flexible work schedules can be arranged.
For international applicants, TU Delft has the Coming to Delft Service. This service provides information for new international employees to help you prepare the relocation and to settle in the Netherlands. The Coming to Delft Service offers a Dual Career Programme for partners and they organise events to expand your (social) network.
Additional information
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.
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.
Please note:
- You can apply online. We will not process applications sent by email and/or post.
- A pre-employment screening can be part of the selection procedure.
- A knowledge security check will be part of the selection procedure (for details page 45: national knowledge security guidelines).
- Please do not contact us for unsolicited services.
相关项目推荐
KD博士实时收录全球顶尖院校的博士项目,总有一个项目等着你!