Fuzzing Method Selection via Performance Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional fuzzing testing methods face challenges in efficiently comparing and selecting the most effective fuzzing methods due to variability in seed data and dictionaries, leading to inconsistent results and prolonged testing times.

Innovation Solution

A computer-implemented method for selecting a fuzzing method by providing reference performance metrics, conducting fuzzing tests with various methods, and selecting those that maximize performance metric differences, thereby optimizing fuzzing testing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional fuzzing testing methods are used with various seed data and dictionaries, then comprehensive program sequence path coverage can be achieved, but testing time increases significantly (days) and results become inconsistent

Engineering Contradiction:
Improveprogram sequence path coverageVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-evaluating multiple fuzzing methods using reference performance metrics before the actual fuzzing test. This preliminary selection process identifies the most effective fuzzing method in advance, avoiding the need to run all possible fuzzing methods during the actual testing phase, thereby reducing testing time while maintaining comprehensive path coverage

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes parameters by introducing performance metrics as selection criteria for fuzzing methods. Instead of using arbitrary or default fuzzing methods, the system evaluates methods based on measurable performance parameters (such as path coverage efficiency, execution speed, and resource utilization) and selects the method that optimizes these parameters for the specific program code being tested

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If multiple fuzzing methods are tested to find the most effective one, then testing accuracy improves, but the complexity of the testing process increases

Engineering Contradiction:
Improvefuzzing method selection accuracyVSAvoidtesting process complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary selection mechanism that mediates between multiple fuzzing methods and the program code. This intermediary layer evaluates fuzzing methods using reference performance metrics and selects the most appropriate method, simplifying the overall process by automating the selection decision rather than requiring manual comparison and analysis of multiple methods

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback by using performance metrics from reference fuzzing tests to inform the selection of fuzzing methods. The system measures the performance of different fuzzing methods, uses this feedback to identify the most effective method, and then applies this knowledge to guide subsequent fuzzing testing, creating a closed-loop system that continuously improves selection accuracy

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11822463B2Computer-implemented method and device for selecting a fuzzing method for testing a program code
Publication Date: 2023.11.21 ROBERT BOSCH GMBH
  • US11822463B2 patent drawing

AI summary

A computer-implemented method for selecting a fuzzing method for carrying out fuzzing testing of a predefined program code. The method includes: providing one or multiple reference performance metrics that characterize the result of reference fuzzing testing of the program code to be tested, using a reference fuzzing method; carrying out fuzzing tests, based on various fuzzing methods, on the predefined program code in order to ascertain one or multiple performance metrics in each case; selecting one or multiple fuzzing methods corresponding to the associated performance metrics, as a function of the reference performance metric; and carrying out fuzzing testing corresponding to the one or multiple selected fuzzing methods.