PhD positions on Requirements Engineering and Software Testing

15-Dec-2022

The Utrecht University and Open Universiteit are looking for two PhD students in the context of the AUTOLINK project, which has the aim to explore the synergies between requirements engineering and software testing toward their seeming integration into agile contexts. AUTOLINK will propose techniques that assist practitioners in increasing the quality of their software by testing it against the requirements, in an unobtrusive manner and with low cost and effort.

AUTOLINK employs user stories and acceptance criteria for expressing requirements, a pervasively used notation that compactly and precisely depicts the requirement from the user perspective. For testing, to avoid the writing and maintenance of test scripts, we will build upon scriptless testing, an emerging theory for testing at the user interaction level. This approach employs intelligent agents that mimic the user and decide what to test next through different action selection mechanisms.

Starting from the background research and tools of two collaborating research groups at Utrecht University (UU) and at Open Universiteit (OU), AUTOLINK will build and experiment with automated software tools that:

  • establish a set of trace links between requirements and software, via natural language processing;
  • enable the effortless testing of requirements, through automated scriptless testing, and;
  • increase the value over time by improving trace link accuracy and test effectiveness, via machine learning.

To gather empirical evidence on the effectiveness of our tools and techniques, AUTOLINK relies on in-vivo case studies within collaborating software companies such as Mendix, ING Bank, TestCompass, and AXINI.

Within the AUTOLINK project, we are hiring two PhD students. Both PhD students in this project will be physically located at Utrecht University, so to allow effective collaboration on the research.

Position 1: PhD Position on Requirements Engineering (UU)

You will conduct theoretical and empirical research in the RE-Lab in the Department of Information and Computing Sciences at Utrecht University, under the primary supervision of Dr. Fabiano Dalpiaz. In particular, you will investigate the development of automated (machine and deep learning) techniques for linking software requirements with the relevant components of a software system. This vital information is often missing as developers do not have or allocate sufficient time to documentation activities, making it hard to determine whether certain requirements are met.

To do so, you will focus on three major tasks starting from collections of requirements, collected from industrial partners, that are expressed as user stories and acceptance criteria:

Extracting behavioural models from requirements, turning natural text into the automated generation of precise actions and reactions of the system.

Establishing trace links between the behavioural model and the actual system behaviour that is deduced from the execution of the system.

Maintaining trace links via machine and deep learning. To improve the accuracy of the trace links generated in the previous tasks, you will be building automated classifiers that predict whether unseen elements (expected behaviour vs. actual behaviour) should be traced to one another.

For further details on this position, and to submit your application, please visit this link. For questions regarding this position, contact Dr. Fabiano Dalpiaz.

Position 2: PhD Position on Software Testing (OU)

You will be conducting research in the THIS (Towards High Quality and Intelligent Software) research line under the primary supervision of Prof. Dr. Tanja E.J. Vos at Open Universiteit. In particular, the work focuses on devising scriptless testing algorithms that automatically generate tests that cover the acceptance criteria from the user stories. The results will be integrated into the TESTAR tool (www.testar.org), the baseline tool of the OU that implements a scriptless approach for automated test case generation via agents that use an action selection mechanism. This approach relies on a paradigm shift in GUI testing: from developing scripts to developing intelligent AI-enabled agents. Tasks will be related to:

Extraction of models through testing

Test adequacy criteria definition based on the user stories

Improved action selection through reinforcement learning that mimic the software tester

For further details on this position, and to submit your application, please visit this link. For questions regarding this position, contact Prof.dr. Tanja Vos