PhD Position Automated Testing for Dynamically Typed Programming Languages
Job Description
Software testing is a critical part of the software development process, ensuring that software behaves as expected and meets the requirements. Developers are typically responsible for writing and maintaining test cases, which can be time-consuming and error prone. Automated test generation tools can help developers by automatically generating test cases, reducing the manual effort required. These tools are increasingly being adopted in continuous integration and continuous deployment (CI/CD) practices to automate testing and deployment.
This PhD position focuses on the challenges and opportunities in testing for dynamically typed programming languages. Dynamically typed languages like Python and JavaScript offer flexibility and rapid prototyping but introduce unique testing challenges, particularly compared to statically typed languages. These challenges include runtime type errors, lack of compile-time guarantees, and issues related to type inference and coverage. As a PhD student, you will explore innovative testing methodologies, frameworks, and tools to address these challenges, contributing to the state-of-the-art in software testing. You will make use of the latest advances in software testing, including search-based test case generation, symbolic execution, and large language models to improve the quality and efficiency of testing for dynamically typed languages. You will also work on applying these techniques to real-world software systems, collaborating with industry partners and contributing to open-source projects.
As a PhD candidate, you will learn to
- Conduct original research on testing techniques for dynamically typed languages.
- Develop tools, algorithms, and methodologies to improve testing effectiveness and efficiency for both unit-level and integration level testing.
- Analyze and compare the testing challenges between dynamically and statically typed languages.
- Publish research findings in top-tier journals and conferences.
- Collaborate with researchers and practitioners in the field.
You will work as part of the Software Engineering Research Group at TU Delft, an internationally recognized research group with a strong focus on empirical research, conducted in close collaboration with software development practice. SERG is known for its research on software testing, program analysis, mining software repositories, and empirical software engineering with close collaboration with industry partners (e.g., JetBrains, ING, Adyen, Ripple). The group has a strong track record of publishing in top-tier venues, such as ICSE, FSE, and ASE. As a candidate, you 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.
As a group, 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.
Job requirements
Academic Qualifications (as per the TU Delft Graduate School):
- A Master's degree in Computer Science, Software Engineering, closely related discipline.
- Proficiency in the English language (https://www.tudelft.nl/onderwijs/opleidingen/phd/admission).
Domain Knowledge:
- Familiarity with Software Engineering and Software Testing methodologies (desirable).
- Understanding of Artificial Intelligence and/or Machine Learning concepts (desirable).
Technical Skills:
- A strong technical foundation (essential).
- Programming experience in JavaScript and Python (desirable).
Interpersonal Skills (desirable):
- A collaborative mindset and effective communication skills.
- Strong problem-solving abilities, with a proactive and independent approach to tackling challenges.
- Open to feedback and eager to learn from peers, supervisors, and the academic community.
- A curiosity-driven mindset with a passion for advancing knowledge in your field.
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 € 2901 per month in the first year to € 3707 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 Dr.ir. Mitchell Olsthoorn, via m.j.g.olsthoorn@tudelft.nl.
Application procedure
Are you interested in this vacancy? Please apply no later than 2 Feb 2025 via the application button and upload the following documents:
- CV
- Motivational letter
You can address your application to Dr.ir. Mitchell Olsthoorn.
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.
- For the final candidates, a knowledge security check will be part of the application procedure. For more information on this check, please consult Chapter 8 of the National Knowledge Security Guidelines. We carry out this check on the basis of legitimate interest.
- Please do not contact us for unsolicited services.