Automated Test Case Generation for Deep Neural Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional automated testing techniques for deep neural networks (DNNs) face challenges in ensuring adequate test coverage due to uninterpretable systems, error propagation, and scalability issues with large numbers of nodes, particularly in 'black box' testing scenarios where internal workings are unknown.

Innovation Solution

The implementation of 'black box' testing techniques that use local explainer functions to generate test cases based on decision trees with linear constraints, which are easily solvable, and incorporate fairness checking to prevent discrimination, allowing for improved test coverage and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional black box testing techniques are used for DNNs, then testing can be performed without knowledge of internal workings, but test coverage determination becomes unduly difficult

Engineering Contradiction:
Improvetesting capabilityVSAvoidtest coverage
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces an explainer model as an intermediary between the DNN under test and the testing system. This explainer model provides interpretable representations of the DNN's decision-making process, enabling the testing system to determine test coverage without requiring direct knowledge of the DNN's internal workings. The explainer acts as a mediator that translates the uninterpretable DNN behavior into understandable patterns that can be analyzed for coverage assessment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the complex DNN testing problem into manageable components by using the explainer model to break down the DNN's decision process into interpretable segments. These segments can be individually analyzed and measured, making it possible to assess test coverage systematically rather than attempting to evaluate the entire uninterpretable system at once.

Inventive Principle:
Principle #1Segmentation

2Productivity

If conventional testing techniques are used for DNNs, then testing can proceed, but errors can propagate from one test case to another

Engineering Contradiction:
Improvetesting throughputVSAvoidtest case accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by using the explainer model to analyze and understand the DNN's decision-making process before generating test cases. This preliminary analysis ensures that each test case is independently designed based on accurate understanding of the system behavior, preventing error propagation that would occur if test cases were generated sequentially without such analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The explainer model provides feedback about the DNN's internal decision processes to the testing system. This feedback mechanism allows the testing system to adjust and refine test case generation based on accurate understanding of system behavior, preventing the propagation of errors that would occur without such feedback.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If conventional techniques are used for DNN testing, then testing can be performed, but scalability to very large numbers of nodes is not readily achievable

Engineering Contradiction:
Improvetesting applicabilityVSAvoidsystem scalability
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The explainer model serves as a scalable intermediary that can handle DNNs of any size. By translating the behavior of even very large DNNs into interpretable representations, the explainer enables the testing system to scale to systems with thousands of nodes without being overwhelmed by the complexity of the underlying system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates an interpretable copy or representation of the DNN's decision-making process through the explainer model. This copied representation can be analyzed and tested without dealing with the full complexity of the original large-scale DNN, enabling scalability to systems with very large numbers of nodes.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11379347B2Automated test case generation for deep neural networks and other model-based artificial intelligence systems
Publication Date: 2022.07.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11379347B2 patent drawing
  • US11379347B2 patent drawing
  • US11379347B2 patent drawing

AI summary

Methods, systems and computer program products for automated test case generation are provided herein. A computer-implemented method includes selecting sample input data as a test case for a system under test, executing the test case on the system under test to obtain a result, and applying the result to a local explainer function to obtain at least a portion of a corresponding decision tree. The method further includes determining at least one path constraint from the decision tree, solving the path constraint to obtain a solution, and generating at least one other test case for the system under test based at least in part on the solution of the path constraint. The steps of the method are illustratively repeated in each of one or more additional iterations until at least one designated stopping criterion is met. The resulting test cases form a test suite for testing of a deep neural network (DNN) or other system.