As a part of the EU-funded project PROWESS we’re looking for a postdoctoral research associate for 2 years 11 months to work on modelling and testing of web services, in the context of property-based testing using QuickCheck. PROWESS involves not only Kent, but also the universities of Sheffield and A Coruña, Chalmers University in Gothenburg and the Polytechnic University of Madrid. Industrial participants include Erlang Solutions Ltd, Quviq AB, Interoud and SP, the Technical Research Institute of Sweden.
At the core of PROWESS is property-based testing as implemented in the QuickCheck tool, which provides property-based testing (PBT) for Erlang. In PBT, instead of describing a system through a series of unit tests, it is specified by a set of logical properties, which are then tested on randomly generated inputs to the system. For state-based systems, models are described as state machines, and the systems are exercised through randomly generate paths through the machines. This approach has been used very successfully in a number of application areas, most notably in the automotive sector, where QuickCheck models are used to test automotive software written in C for its conformance to the AUTOSAR standard.
The Kent team on PROWESS will help to deliver the following results.
• A library of common properties for PBT of web services.
• Tools and techniques for extraction of specifications and models from existing test suites for web services.
• Tools and techniques to present and assess different competing implementations of a specification.
• Approaches to dealing with evolution of properties, models and systems.
• An approach to assessing the quality of properties by means of mutation of implementations (by analogy with mutation testing).
• Mechanisms by which requirements can be related to other artefacts such as properties and models.
The successful applicant should have a doctoral qualification in computer science, experience of using functional programming as well as strong core CS sills. They should be able to work independently, and also to liaise effectively with members of the project both at Kent and at other partners.
More details about the post, and the application procedure, are at Job details