Reducing the number of regression bugs and improving test coverages
How would you present STAMP?
The main goal of STAMP is to automatically generate tests from existing assets (scenarios, configurations and logs), to detect regressions and reduce tests cost.
Writing and maintaining test suites manually are costly or … not done ! :-)
So using the test amplification, an innovative technology, STAMP raises software quality by reducing the number of regression bugs, and improving test coverage.
What is your role in STAMP?
As the technical project manager, I’m in charge of the global project organization and the reporting to the European Commission. I’m also involved in technical work packages, especially the WP1 about Unit Test Amplification.
What key innovation do you bring or help to develop?
Test amplification is a new field of research in software testing, and the concept can be applied to several domains of software testing, which correspond to different steps in the project lifecycle:
- unit tests (coding phase),
- configuration tests (integration/validation phase),
- log analysis (operational phase)
The work on unit test amplification also explores another innovative technology: the extreme mutation testing. Mutation testing is a robust technique, but a drawback is the number of generated mutants, because the traditional approach works at instruction level. Extreme mutation consists in removing all the instructions of a method, so it significantly reduces the number of mutants.
Industrial applications are obvious, at least for the STAMP team :-), though with several challenges and among them, the usability of such technologies in a DevOps approach, as software testing can be very time-consuming, not just for humans, and the way to integrate the use of the tools in a CI system.
A word about yourself and your organization
I’m software engineer, and I’ve worked for industry for almost 30 years before joining Inria, the national institute of research on digital sciences. Research at Inria covers fields as diverse as healthcare, transport, energy, communications, security and privacy protection, smart cities and the factory of the future.
I’m a member of the DIVERSE team, who currently works on 4 main research axis: software language engineering, software variability, software adaptation and software diversification. But the foundation behind all our research activities are abstraction and model manipulation to automatically generate software.