Magnet.me  -  The smart network where students and professionals find their internship or job.

The smart network where students and professionals find their internship or job.

PhD Position Automated Testing for Dynamically Typed Programming Languages

Posted 31 Dec 2024
Share:
Work experience
1 to 3 years
Full-time / part-time
Full-time
Job function
Salary
€2,901 - €3,707 per month
Degree level
Required languages
English (Fluent)
Dutch (Fluent)
Deadline
2 Feb 2025 00:00

Your career starts on Magnet.me

Create a profile and receive smart job recommendations based on your liked jobs.

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.

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.

De fascinatie voor science, design en engineering is wat ruim 13000 bachelor & masterstudenten en 5000 medewerkers van de TU Delft drijft. De Technische Universiteit Delft is niet alleen de oudste, maar ook de grootste technische universiteit van Nederland: een universiteit die continu op zoek is naar jou als (inter)nationaal talent om het onderzoek en onderwijs van deze unieke instelling…


De fascinatie voor science, design en engineering is wat ruim 13000 bachelor & masterstudenten en 5000 medewerkers van de TU Delft drijft. De Technische Universiteit Delft is niet alleen de oudste, maar ook de grootste technische universiteit van Nederland: een universiteit die continu op zoek is naar jou als (inter)nationaal talent om het onderzoek en onderwijs van deze unieke instelling op topniveau te houden. Met ongeveer 5.000 medewerkers is de Technische Universiteit Delft de grootste werkgever in Delft. De acht faculteiten, de unieke laboratoria, onderzoeksinstituten, onderzoeksscholen en de ondersteunende universiteitsdienst bieden de meest uiteenlopende functies en werkplekken aan. De diversiteit bij de TU Delft biedt voor iedereen mogelijkheden. Van Hoogleraar tot Promovendus. Van Beleidsmedewerker tot ICT'er.

Engineering
Delft
5,000 employees