Technical choices
In this section, we detail the project choices on two key subjects.
- Machine Learning - Why, where and how: Machine learning tools allow automatic clustering of existing data and automatic classification of new data. In particular, considering different levels of abstraction, clustering tools are able to compute a hierarchy of clusters. In the case of data consisting of user execution traces, clusters of traces can be associated with the different tests or components of the high-level business workflow. With automatic classification tools, new registered user traces can be assigned to clusters (and consequently to existing tests or components of the high-level business workflow) or detected as new execution traces (if they cannot be assigned to any cluster). Considering the strong sequential nature of user execution traces, machine learning methods dedicated to sequence processing [Dietterich02] like Recurrent Neural Networks or Hidden Markov Models will be particularly investigated. Other pre-processing techniques (like the sliding-window method) can also be used to transform the sequential learning problem into a classical learning problem giving the possibility to use other classical learning methods.
- Model inference - Why, where and how: Model inference techniques have been used and combined with software testing and provide a key enabler of model-based generation techniques, as they remove the problem of writing formal specifications, building or updating models of software artefacts. In PHILAE, we will combine passive inference from traces (based on trace reduction and state minimization algorithms, as used in process mining) with active inference (based on algorithms as implemented in LearnLib and SIMPA, e.g. state of the art TTT or Z-quotient algorithms). This will be used to address objective 2, in combination with clustering and classification techniques from machine learning.
Project expected results
The PHILAE project will produce an automated testing technology, for web applications developed in an agile lifecycle development, at technology maturity level TRL1 4. This technology will be structured in 4 components (one for each objective) supporting a smooth test creation and maintenance process. The PHILAE technology will be developed and assessed on the basis of 3 use cases from the partners, providing data from real-size projects.
1 TRL - Technology readiness levels: a method of estimating technology maturity