Min-repro Finding Technique for Database Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Testing and debugging database system applications is challenging due to complex scenarios, making it difficult to find a minimum configuration that reproduces a problem (min-repro), which is often done manually and is both slow and error-prone.

Innovation Solution

A min-repro finding technique that uses transformations and a high-level script language to automate the process, providing record-and-replay functionality and intuitive results representation to simplify the search for a min-repro configuration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If manual methods are used to find min-repro configurations, then flexibility and understanding of the problem can be maintained, but the process becomes slow and error-prone

Engineering Contradiction:
Improvetime to find min-reproVSAvoidautomation of min-repro search
Core Design Contradiction:
Loss of timeVSExtent of automation

Solution Approach 1:

The system enables self-service automation where the min-repro generation process operates autonomously once triggered. The automated system performs the entire workflow of reproducing problems, generating min-repros, and validating results without requiring continuous human intervention, thus resolving the contradiction between speed and automation by making the process self-sufficient.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

An intermediary automated system is introduced between the database problem and the tester. This intermediary handles the complex task of min-repro generation using algorithms and transformations, freeing the tester from manual labor while maintaining quality through automated validation, thus achieving both speed and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If complex scenarios are used to reproduce database problems, then problem accuracy is maintained, but the reproduction becomes difficult to understand and analyze

Engineering Contradiction:
Improveproblem reproduction accuracyVSAvoidmin-repro configuration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system extracts only the essential elements needed to reproduce the problem by applying transformations that remove redundant inputs and simplify the configuration. This extraction process maintains the core problem-reproducing capability while eliminating unnecessary complexity, thus achieving both reliability and simplicity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The min-repro generation process is segmented into distinct transformation steps that systematically simplify different aspects of the problem configuration. Each transformation operates on specific elements independently, allowing the system to maintain problem accuracy while progressively reducing overall complexity through structured decomposition.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If extensive manual searching is performed to find min-repro, then thoroughness can be achieved, but the process becomes slow and labor-intensive

Engineering Contradiction:
Improvemin-repro identification accuracyVSAvoidmin-repro search speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary automated transformations on the problem configuration to generate candidate min-repros before human analysis. These preliminary actions prepare simplified configurations that are ready for validation, significantly reducing the time needed for thorough searching while maintaining identification accuracy through systematic preprocessing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates feedback mechanisms where each transformation step is validated against the original problem to ensure accuracy is maintained. This feedback loop allows the automated process to iteratively refine min-repro candidates, achieving thoroughness comparable to manual searching but at much higher speed through efficient automated validation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8676774B2Min-repro framework for database systems
Publication Date: 2014.03.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8676774B2 patent drawing
  • US8676774B2 patent drawing
  • US8676774B2 patent drawing

AI summary

The min-repro finding technique described herein is designed to ease and speed-up the task of finding a min-repro, a minimum configuration that reproduces a problem in database-related products. Specifically, in one embodiment, the technique simplifies transformations in order to find one or more min-repros. One embodiment provides a high-level script language to automate some sub-tasks and to guide the search for a simpler the configuration that reproduces the problem. Yet another embodiment provides record-and-replay functionality, and provides an intuitive representation of results and the search space. These tools can save hours of time for both customers and testers to isolate the problem and can result in faster fixes and large cost savings to organizations.