Developing Methods to Test Complex Evolving Systems That Use Artificial Intelligence and Machine Learning
By Paulina Hryniewicz
At a time when humans are increasingly relying on machines to perform tasks that were once the exclusive domain of humans, it is important to understand what Evolving Systems are, how they work, and the challenges they pose for Quality Assurance.
Evolving Systems, as the name implies, are systems that evolve over time. Today, system updates are typically implemented using Continuous Integration and Continuous Delivery / Continuous Deployment methods. This means that new software versions are delivered to end-users at a faster pace. When Artificial Intelligence and Machine Learning components are added to these systems, their behavior is constantly changing as the system learns and adapts itself. These dynamic changes pose a major challenge to the Quality Assurance of complex systems. Validation and verification must be performed without specific requirements as the system readjusts itself.
Why Should We Rely on Artificial Intelligence and Machine Learning if Quality Assurance is at Risk?
To answer this question, let us first look at the benefits of AI in a real-world challenge. Facebook AI and NYU Langone Health have launched the fastMRI project to speed up MRI scans via IA. The goal is to perform them up to ten times faster than today, improving the patient experience and making MRI scans more affordable and accessible.
Here are two submissions for the 4x accelerated multi-coil challenge (left and center) and the corresponding ground truth image (right). The image on the far left had the highest structural similarity measure (SSIM) but was ranked third by the radiologists. The middle image had the fourth-highest SSIM but was ranked first by the radiologists. This discrepancy highlights the importance of evaluating the winners based on the radiologists’ ratings.
This challenge shows that AI-generated results need to be evaluated by experts. The tests generated by engineers would have selected a different model than the expert. It also shows why the path to using AI is inevitable. There is simply too much to gain, despite any obstacles that may arise. For this reason, we must look for ways to develop validation and verification methods that cover these dynamic changes in our systems.
Quality Assurance of Evolving Systems
As evolving systems are deployed in various industries such as transportation, financial markets, medicine, and energy, the development of new rigorous, comprehensive, and trustworthy quality assurance is critical both before and after deployment. Due to the size and complexity of these systems, the high pace of innovation, and the ability to learn and adapt during runtime, the approach to testing and quality assurance must be equally advanced.
The methods and procedures previously used for testing software are no longer applicable to evolving systems. Before the advent of Artificial Intelligence, software testing consisted of creating a test plan according to application requirements and then developing manual test scenarios from the end user’s perspective. Then the test scenarios were automated using scripts, and finally, functional tests were performed to verify that everything worked as intended. However, as the system evolves (through ML, AI, or very rapid development), the requirements for system behavior are constantly changing, making it (almost) impossible to test against the requirements. If there are no extended requirements, testing against the requirements is impractical.
Due to its complexity, the need for these new methods for testing AI and ML solutions in Evolving Systems requires a collaborative effort that led to the launch of an international project called IVVES.
Testing Evolving Systems: IVVES Project
IVVES (Industrial-Grade Verification and Validation of Evolving Systems) is an ITEA project involving 26 partners from 5 countries and running for 3 years (2019-2022). The technical work of the project focuses on the following three topics:
- Validation techniques for ML, including model quality, training data quality, and testing techniques for ML.
- Validation techniques for complex evolving systems, including ML-driven testing, testing with uncertainties, and online testing and monitoring.
- Data-driven engineering, including data collection techniques, instrumentation, and smart probes, pattern recognition for predictive maintenance and fault analysis, and data analytics in engineering and operation.
Over the three years that participants have worked on IVVES, methods and tools have been developed for quality assurance of incoming data. In addition, researchers have developed validation methods and techniques for Evolving Systems, such as test generation and test prioritization for fault detection. In the area of data-driven engineering, they have developed methods and tools for data collection, e.g., for using customer program resources in production, simulating operational technology networks, and collecting data during automated exploration of graphical user interfaces.
Through collaboration, researchers have been able to develop methods for testing ML and AI solutions and evolving systems, and use AI and ML to improve and automate development and testing.
Most of the research and tools developed in the IVVES project are made available to the public on the IVVES learning platform.
With the increasing number of information systems based on Machine Learning or AI, the question of testing Evolving Systems arises. Some of the systems adapt their behavior during operation based on the collected data. To develop trustworthy information systems, new methods and tools for software verification, validation, and testing are needed. The traditional way of testing systems during development and before deployment is no longer sufficient. The IVVES project marks the culmination of three years of research and development of new techniques for testing Evolving Systems. It will prove essential in the near future as AI and ML-based applications become more popular.
To learn more about IVVES, AI, ML, and QA for Evolving Systems, click here to contact us.