Traffic Replay Framework for Interface Change Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy software code in web services is challenging to modify without introducing bugs or degrading behavior in existing clients, as changes to interfaces and APIs can break functionality, and existing testing methods require internal knowledge of software interfaces.

Innovation Solution

A software testing system that records user activity and replays it on a target service using an enveloping framework, allowing for comparison of outputs to detect changes and emulate external dependencies, enabling testing without internal knowledge of the interfaces and facilitating regression testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If legacy software code is modified to improve functionality, then new features and performance are improved, but bugs are introduced and existing client functionality breaks

Engineering Contradiction:
Improvesoftware development speedVSAvoidinterface compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by recording actual user traffic and interface interactions before software modifications are deployed. These recorded traffic patterns serve as baseline test cases that automatically verify interface compatibility after changes, preventing bugs from reaching production while maintaining fast development cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback by automatically replaying recorded user traffic against modified software and comparing results. This closed-loop feedback mechanism immediately detects interface compatibility issues caused by code changes, allowing developers to fix problems before they affect existing clients.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If internal knowledge of software interfaces is required for testing, then testing accuracy is improved, but testing complexity and time increase

Engineering Contradiction:
Improvetesting accuracyVSAvoidtesting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically capturing, recording, and generating test cases from actual user traffic without requiring manual intervention or internal knowledge of software interfaces. The testing system serves itself by using real-world usage data as the basis for verification, eliminating the need for complex manual test design while maintaining high accuracy.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10346295B2Traffic replay to detect interface changes
Publication Date: 2019.07.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10346295B2 patent drawing
  • US10346295B2 patent drawing
  • US10346295B2 patent drawing

AI summary

Systems, methods, apparatuses, and software for software testing systems in computing environments are provided herein. In one example, software modules are instantiated within an enveloping framework for replaying or recording of user activity with regards to the software modules. Based at least on the enveloping framework placed in a replay mode of operation, the enveloping framework provides replayed inputs to the software modules based on previously recorded user activity, the replayed inputs each associated with unique identifiers mapping into the previously recorded user activity. The enveloping framework monitors outputs from the software modules and correlates the outputs to the inputs using the unique identifiers. Changes are detected in operation of the software modules based in part on a comparison of previously recorded outputs from the software modules to the outputs that are determined by the software modules when using the replayed inputs.