Differential Coverage-Guided Fuzzing for REST API Backward Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional fuzz testing methods are inefficient in identifying regressions and ensuring backward compatibility of software applications, particularly REST APIs, due to their reliance on finite test sets and black-box approaches that do not effectively generate random input data, leading to resource-intensive and incomplete coverage.

Innovation Solution

The implementation of differential coverage-guided feedback (CGF) fuzzing systems, which generate input data based on initial samples, compare coverage information across multiple applications, and iteratively mutate inputs to expose new regressions, enabling automatic, infinite test sets and comprehensive validation of backward compatibility, including third-party components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional fuzz testing uses finite test sets and black-box approaches, then implementation is simple, but regression identification efficiency is poor and resource consumption is high

Engineering Contradiction:
Improveregression identification efficiencyVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements feedback mechanisms by collecting coverage information from multiple applications and using it to guide subsequent fuzzing iterations. The system compares coverage data between applications and feeds this comparison back to generate new input data, creating a closed-loop system that continuously improves testing efficiency while reducing redundant resource consumption.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The fuzzing system transitions from static finite test sets to dynamic infinite test set generation. Input data is continuously mutated and evolved based on coverage feedback, allowing the test set to adapt and grow indefinitely. This dynamic approach improves regression detection efficiency while avoiding the resource waste of repeatedly executing identical finite test cases.

Inventive Principle:
Principle #15Dynamics

2Reliability

If differential coverage-guided feedback fuzzing generates infinite test sets, then backward compatibility validation is comprehensive, but system complexity increases

Engineering Contradiction:
Improvebackward compatibility validationVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the testing system into distinct modular components: a fuzzer module for generating input data, a coverage collection module for gathering execution data, a comparison module for analyzing differences between applications, and a feedback loop for guiding subsequent iterations. This modular segmentation enables comprehensive backward compatibility validation while managing system complexity through clear separation of concerns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The differential coverage-guided feedback fuzzing system serves multiple functions simultaneously: it generates infinite test sets, collects coverage information, compares multiple application versions, identifies regressions, and validates backward compatibility. This multi-functionality achieves comprehensive validation without proportionally increasing complexity, as shared infrastructure supports all functions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If conventional fuzzing performs duplicated runs against the same code branches, then testing thoroughness is maintained, but time and resources are wasted

Engineering Contradiction:
Improvetesting thoroughnessVSAvoidtesting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system uses coverage feedback to identify which code branches have already been executed and prioritizes unexplored branches in subsequent iterations. By comparing coverage information between applications and feeding this back to the fuzzer, the system avoids duplicated runs on already-tested branches while maintaining comprehensive testing thoroughness, thereby reducing wasted time.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary coverage analysis to identify unexplored code branches before executing new test cases. By预先 (in advance) determining which branches need exploration, the system avoids time-wasting duplicated runs on already-tested paths while ensuring thorough coverage of all necessary code branches.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20230289635A1Validation of rest API backward compatibility with differential coverage-guided feedback fuzzing
Publication Date: 2023.09.14 CLOUDBLUE LLC
  • US20230289635A1 patent drawing
  • US20230289635A1 patent drawing
  • US20230289635A1 patent drawing

AI summary

Differential coverage-guided feedback (CGF) fuzzing system and methods are provided to identify regressions in a software application. A computing device is configured to execute instructions that perform a fuzzing iteration. The fuzzing iteration includes operations that generate input data based on an initial corpus of samples; communicate the input data to a first application such that the first application performs operations utilizing the input data; collect first coverage information from the first application to identify first regressions; communicate the input data to a second application such that the second application performs operations utilizing the input data; and collect second coverage information from the first application to identify second regressions. The instructions additionally include: compare the first coverage information and the second coverage information; and perform another fuzzing iteration, wherein the computing device is configured to execute instructions that generate input data based on the compared first and second coverage information.