Scientific programmer of libraries on testing and learning in Haskell and Python

University of Twente
Enschede, Netherlands
3 days ago

Role details

Contract type
Temporary contract
Employment type
Part-time (≤ 32 hours)
Working hours
Regular working hours
Languages
English
Compensation
€ 2.9K

Job location

Enschede, Netherlands

Tech stack

Code Review
Computer Programming
Python
Open Source Technology
Software Engineering
GIT
Information Technology
Formal Methods
Functional Programming
Docker
Glasgow Haskell Compiler

Job description

As a scientific programmer, you will support the development of software from a technical point of view; the researchers of the EVI project will collaborate with you and provide the research perspective. Besides pure software development (programming), you also take responsibility for ensuring quality and maintainability of the (open-source) software, for example, with respect to architectural design, and by facilitating a process including, for example, Git, testing, code reviews and usage of Docker.

Your primary task will be software development for the Haskell library Lattest for model-based testing. The library allows the user to (i) write a model of the input-output behaviours a software system is expected to have, (ii) set up the connection with a software system for executing tests consisting of inputs and outputs, and (iii) select test generation algorithms that derive tests from a given model.

As a second task, you will work on software development for model learning, and in particular, on the Python library AALpy. Model learning is done algorithmically, by sending inputs to and receiving outputs from a software system, such that a model of the actual behaviour of a software system can be constructed. In the EVI project, model learning is combined with model-based testing and model checking to construct such a model efficiently.

The EVI project is a collaboration between the University of Twente and Radboud University. As a scientific programmer you will become part of the EVI team with members from both these universities, and you will participate in joined activities. You will be based at the University of Twente, in the Formal Methods and Tools group, where the EVI members focus on the topic of model-based testing.

Requirements

  • You have a background at a master's level related to computer science.
  • You have experience with programming in Haskell or any other functional programming language.
  • You have experience or are willing to learn programming in Python.
  • You are familiar with general software engineering practices and techniques, such as Git, testing, code reviews and Docker.
  • You have an interest in formal methods such as model-based testing and model learning, and are willing to learn on the job.
  • You have a good team spirit and like to work with researchers in an internationally oriented environment.
  • You are proficient in English.

Benefits & conditions

  • The scientific programmer position is a temporary position with a budget for 0.5fte during 2 years. The number of working days per week is determined in consultation with you. Preferably, you work 2 or 3 days per week. The budget is fixed, so more working days per week result in a shorter duration of your contract.
  • The University offers a dynamic ecosystem with enthusiastic colleagues.
  • You will be a member of the Formal Methods and Tools research group, a strong research group with an open and welcoming atmosphere.
  • Your salary and associated conditions are in accordance with the collective labour agreement for Dutch universities (CAO-NU).
  • You will receive a gross monthly salary ranging from €3546,- to €5,538,- for a formal workweek of 38 hours. Based on 0.5 FTE, this will be around €1.866,- to €2.915,- gross per month.
  • There are excellent benefits including a holiday allowance of 8% of the gross annual salary, an end-of-year bonus of 8.3%, and a solid pension scheme.
  • The flexibility to work (partially) from home.
  • A minimum of 232 leave hours in case of full-time employment based on a formal workweek of 38 hours. A full-time employment in practice means 40 hours a week, therefore resulting in 96 extra leave hours on an annual basis. Based on 0.5 FTE, this will be around 147 leave hours.
  • Free access to sports facilities on campus.
  • A family-friendly institution that offers parental leave (both paid and unpaid).
  • We encourage a high degree of responsibility and independence, while collaborating with close colleagues, researchers and other staff.

About the company

The Formal Methods and Tools group is part of the Computer Science department of the University of Twente. Our mission is to develop mathematical methods, high-performance data structures and algorithms, and suitable programming languages for the design of reliable software- and data-intensive control systems. The group consists of approximately 40 researchers with a very diverse background. We have an open and inclusive atmosphere, with many group activities (both work-related and fun).

Apply for this position