Intermittent Error Identification in Distributed Code Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed source code development environments, intermittent errors are difficult to identify and resolve due to their unpredictable nature, leading to inefficiencies in testing and resource waste, as well as delayed integration of code changes and prolonged error fixing times.

Innovation Solution

A method that involves running selected tests on transactions and labels, comparing error results using metrics like file size or hash, and storing errors in a database to determine if errors are spurious or real, thereby distinguishing between intermittent and consistent errors, allowing for more efficient triaging and resolution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If regression tests are run repeatedly to determine whether errors are intermittent or consistent, then error identification accuracy is improved, but time consumption and computing resources are wasted

Engineering Contradiction:
Improveerror identification accuracyVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary error characterization by comparing errors against a database of known errors before conducting repeated regression tests. This preliminary action identifies whether an error is likely intermittent or consistent based on existing data, allowing the system to avoid unnecessary repeated testing and reduce time consumption while maintaining accurate error identification.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where error results from regression tests are stored in a database and used to inform subsequent testing decisions. By analyzing feedback from previous test results and comparing them against known error patterns, the system can determine whether repeated testing is necessary, thereby reducing unnecessary time consumption while maintaining accurate error identification.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If developers manually examine and characterize each error to determine if it is spurious or real, then error resolution accuracy is improved, but developer productivity decreases

Engineering Contradiction:
Improveerror resolution accuracyVSAvoiddeveloper productivity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system enables automated error characterization by comparing errors against a database of known errors and automatically determining whether errors are spurious or real. This self-service capability eliminates the need for developers to manually examine and characterize each error, significantly improving developer productivity while maintaining high error resolution accuracy through systematic automated analysis.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces the mechanical process of manual error examination with an automated computational system. By substituting developer manual analysis with automated error comparison algorithms and database matching, the system maintains accurate error resolution while freeing developers to focus on higher-value tasks, thereby improving overall productivity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If repeated regression testing is performed to characterize intermittent errors, then error classification accuracy is improved, but integration of code changes is delayed

Engineering Contradiction:
Improveerror classification accuracyVSAvoidintegration delay
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary error classification by comparing errors against a database of known error patterns before initiating repeated regression testing. This preliminary action quickly identifies whether an error is likely intermittent or consistent, allowing the system to avoid unnecessary repeated testing and accelerate code change integration while maintaining accurate error classification.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from the error database and previous test results to determine whether repeated regression testing is necessary. By analyzing feedback indicators such as error frequency, severity, and pattern matching results, the system can make informed decisions about whether to proceed with repeated testing, thereby reducing integration delays while maintaining accurate error classification.

Inventive Principle:
Principle #23Feedback

4Reliability

If comprehensive error analysis and repeated testing are conducted to distinguish spurious from real errors, then quality assurance is improved, but computing resources are wasted

Engineering Contradiction:
Improvequality assuranceVSAvoidcomputing resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system implements feedback mechanisms where error results are stored in a database and used to inform subsequent testing decisions. By analyzing feedback from previous test results and comparing them against known error patterns, the system can determine whether repeated testing is necessary, thereby reducing unnecessary computing resource consumption while maintaining high quality assurance through accurate error identification.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system replaces resource-intensive manual error analysis with efficient automated algorithms that compare errors against a database of known patterns. This substitution maintains comprehensive error analysis capabilities and high quality assurance while significantly reducing computing resource consumption by avoiding redundant analysis of already-characterized errors.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS7712087B2Methods and systems for identifying intermittent errors in a distributed code development environment
Publication Date: 2010.05.04 ORACLE INT CORP
  • US7712087B2 patent drawing
  • US7712087B2 patent drawing
  • US7712087B2 patent drawing

AI summary

A distributed code development environment includes baseline code that is logically divided into a plurality of labels, each including a plurality of transactions authored by respective developers. A computer-implemented method for identifying intermittent errors in the baseline and determining whether errors generated by a test of transactions are intermittent or consistent may include steps of providing the baseline code and providing the plurality of transactions, each of the plurality of transactions including code authored by a developer. A selected test may be carried out on a selected one of the plurality of transactions, the selected test generating an error that represents an unsuccessful completion of the selected test. The generated error may then be compared against errors generated by the selected test on other transactions or labels. The generated error may be identified as intermittent with respect to the transaction and spurious in the baseline if a selected number of errors generated by the selected test on the other transactions or labels are identical or similar to the generated error, according to a selected metric.