Interviews


Jul 05 2018

Daniele Gagliardi, Engineering Group Technical Manager

An augmented software testing design now delivered as a pure service

Daniele_Gagliardi.jpg

How would you present STAMP? 

From my point of view STAMP is some kind of augmented reality to the service of software testing design: when I, as a developer, design test cases and test configurations for my software, STAMP helps me to enhance my design with several variants, also assessing how good are my test design.
It’s not a bare “generate-automatically-code” tool that works for me (designing a test case is an intellectual human activity that no computer in the world can emulate), it’s a tool that empowers my design.

What is your role in STAMP?

I’m the WP4 leader. This work package aims to integrate STAMP in developers toolboxes and toolchains, and to provide potential STAMP users with relevant documentation and courseware to adopt it as easily as possible. In this activity, I had a very fruitful collaboration with all other partners, mainly with OW2, INRIA, ATOS, XWiki and ActiveEon as they are the main partners involved in WP4, and this is turning out to be a very enriching experience for me.

 

What key innovation do you bring or help to develop?

At the beginning of the project, the main challenge was to grasp the concept of mutation testing, not so well known in day-by-day software development activities of a system integrator such as Engineering Group.
Once the internals of mutation testing and the automatic generation of test cases and test configurations became clearer, the next question was: how this stuff can be integrated in software tools of daily use to become easy to use? At the moment we focused on the most used tools (developer productivity tools as Maven, Gradle, Eclipse and automation tools as Jenkins and Gitlab), but the exciting aspect is to make available these amplification services as microservices, in order to offer them as cloud services. This packaging is interesting because it frees STAMP adopters from the constraint of having STAMP execution environments - system and hardware resources that need to be managed -, providing this “augmented software testing design” as a pure service.

A word about yourself and your organization

I’m an employee at Engineering Group and I’m working within a team which provides all company employees with the tools and the best practices needed to make their job in the best way. We provide an infrastructure that helps people to work in agile or traditional ways, with all the tools needed to automate as much as possible software development and quality assurance processes. Moreover we make internal consultancy about software testing with a focus on test automation, performance and security tests and teach several courses about software testing in our corporate IT & Management School. The involvement in STAMP project was a natural consequence.

Biography

Daniele Gagliardi is an electronic engineer with a passion for computer sciences. He's currently working as a technical manager at Engineering Group, in Padua (Italy) with a small but great team of 9 people supporting all Engineering Group employees in making their software solutions as better as possible with the best testing tools and methodologies available today.

Jun 01 2018

Jesús Gorroñogoitia, Research Line Expert on Software Engineering, ATOS Research

Improving bug detection wherever the software is executed

Jesus_Gorronogoitia.jpg

How would you present STAMP? 

STAMP aims at improving the Software Engineering QA process in a 3-dimensional approach that largely improves the efficiency of the design, implementation and execution of test cases on a SUT (System under test) over multiple configurations. These 3 dimensions are: 

1) amplifying the test cases, in terms of their number and quality (i.e. quality of assertions), 

2) amplifying the SUT configurations and executions, 

3) amplifying the reproduction of runtime crashes (i.e. reproducing runtime exceptions). 

The ultimate purpose of these amplifications is to improve the ability of the testing process to detect and anticipate software defects under all the circumstances this software is executed.

What is your role in STAMP?

My main role is to lead the industrial validation of the STAMP results, in terms of the adequacy (i.e. fit for a purpose) of the STAMP techniques, methods, tools and services to improve the industrial QA process in software engineering. I am also playing a secondary role as leader of the Atos’ team in the industrialization of the STAMP tools, particularly integrating them within the Eclipse IDE, as well as improving their performance.

 

What key innovation do you bring or help to develop?

We are bringing MDE techniques for abstracting container-based configuration deployment technologies (e.g. Docker, Ansible, Chess, etc) into a platform independent metamodel (DSL) for test configuration amplification. We have large expertise on IDE tooling development for software engineering and on the optimization of processes in the JVM.

A word about yourself and your organization

I am working as Research Line Expert in Software Engineering in the IT group of the Atos Research and Innovation Department (ARI). In the last 12 years I’ve been working on EU funded projects from the FP6 program, on topics such Service Oriented Computing (SOC), Model Driven Engineering (MDE), Open-Source Software Collaborative Environments, Autonomous Computing, Testing or Semantics.
ARI is the R&D hub for new technologies and a key reference for the whole Atos group. More than 150 employees in ARI are participating in the research, development and in - novation (RDI) projects that enrich Atos offer portfolio, market view or position with respect to emerging technologies.
Atos is leader in digital services with pro forma annual revenue of circa € 13 billion and circa 100,000 employees in 73 countries, serving a global client base.

Biography

 Jesús Gorroñogoitia has a degree in Theoretical Physics from the Universidad Complutense de Madrid (UCM), also complementing his studies with a Master in Condensed Matter and Statistics Physics by UNED (Madrid). He has been working in diverse ICT companies as Software Analyst and Architect for 20 years. In Atos Research & Innovation (ARI) he is currently the ARI Research Line Expert on Software Engineering, working on topics such as Service Oriented Computing (SOC), Model Driven Engineering (MDE), Open-Source Software Collaborative Environments, Autonomous Computing, Testing or Semantics. Currently, he has the role of architect and integration leader in the H2020 SUPERSEDE project, technical team leader in H2020 STAMP project and technology consultant in MegaM@ART ECSEL project. He is also member of the OW2 Technology Council and the Cluster on Software Engineering for Services and Applications.

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: