Interviews


Feb 27 2018

Caroline Landry, Software Architect and Project Manager, INRIA

Reducing the number of regression bugs and improving test coverages

Caroline_Landry_Inria.png

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.

 

Nov 10 2017

Benoit Baudry, Professor in Software Technology, KTH

Automatically Enhancing Test Suites to Improve Software Quality

benoit_baudry_kth.jpg

How would you present STAMP? 

STAMP addresses the need for increased quality of automatic testing in a continuous delivery pipeline. Companies that have adopted DevOps already have a culture of automatic testing, but also acknowledge that the quality of their test suites can be improved. STAMP develops technology that has exactly this objective: automatically enhance existing test assets, such as unit test suites or test configurations, to improve software quality in DevOps. 

What is your role in STAMP?

I am the scientific and technical coordinator of the project. As such, I lead all collaborative activities, actively disseminate the results of the project and coordinate the management tasks. I also coordinate the scientific and research activities on unit test amplification within WP1.

 

What key innovation do you bring or help to develop?

I contribute to the development and experimentation of a novel concept in the area of test automation, which is called “test amplification”. The key idea is to start from existing test assets, i.e., any program or script that already automates a testing task, and then generate variants of these assets through automatic transformations. The intuition is that these assets embed essential knowledge put there by a human developer, but that this knowledge is naturally only partial because it is manually defined. In this context, machines can be very good at exploring large quantities of variants that rely on the same knowledge but trigger diverse behavior that need to be tested.

A word about yourself and your organization

I am scientist working in the area of software engineering. Until 2017, I was at INRIA, in Rennes, France. Now, I am at KTH, the Royal Institute of Technology, in Stockholm, Sweden. I lead a group of students and engineers who investigate algorithms and tools to automatically diversify software components (unit test cases in STAMP, libraries and applications in the context of other projects).
I strongly believe in the value of EU projects to strengthen scientific collaborations within Europe, to increase the impact of science on innovation through direct experiments with use case providers and to increase the visibility of science and software tools through open source consortia.  

Learn more about testing your software tests with mutants through this EclipseCon Europe 2017 video presentation by Benoit Baudry: