Data-Augmented Software Fault Diagnosis Using Machine Learning Priors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software fault diagnosis methods, such as BARINEL, face challenges in providing accurate guidance due to their reliance on uniform prior probabilities for software components, which do not consider observed system behavior, leading to large sets of diagnoses and weak guidance for programmers.

Innovation Solution

A method that utilizes machine learning algorithms to predict the probability of software components being faulty by leveraging data from version control and issue tracking systems, generating a prediction model that assigns confidence scores to classify components as faulty or healthy, and inputs these scores into the BARINEL algorithm to improve diagnosis accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If uniform prior probabilities are used for software components in BARINEL, then the diagnosis process is simple, but the precision and recall of fault diagnosis deteriorate

Engineering Contradiction:
Improvediagnosis process complexityVSAvoidfault diagnosis precision
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent changes the parameter of prior probabilities from uniform distribution to data-augmented distribution based on historical fault data, version control information, and issue tracking data. This transforms the probability values assigned to different software components, allowing the diagnosis algorithm to focus on components with higher empirical fault likelihood, thereby improving precision without significantly increasing process complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary data collection and analysis before the actual diagnosis process by gathering historical fault data, version control records, and issue tracking information to compute informed prior probabilities. This preliminary action prepares the system with pre-computed probability distributions that guide the subsequent diagnosis process, improving accuracy while maintaining efficiency

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If uniform prior probabilities are used for software components in BARINEL, then the method is easy to implement, but the guidance strength for programmers deteriorates

Engineering Contradiction:
Improveimplementation easeVSAvoiddiagnosis guidance information
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent introduces an intermediary data processing layer that collects and analyzes multiple data sources (historical fault data, version control information, issue tracking data) to generate informed prior probabilities. This intermediary layer acts as a mediator between raw data and the diagnosis algorithm, transforming diverse information into meaningful probability distributions that provide stronger guidance to programmers while keeping the overall system architecture manageable

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If data-augmented prior probabilities are used, then the precision and recall of fault diagnosis improve, but the complexity of the diagnosis system increases

Engineering Contradiction:
Improvefault diagnosis precisionVSAvoiddiagnosis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the data-augmentation process into distinct modular components: historical fault data collection, version control data extraction, issue tracking data gathering, and probability computation. Each segment handles a specific aspect of data processing independently, allowing the system to achieve high diagnostic precision through multiple specialized modules rather than a single complex monolithic system

Inventive Principle:
Principle #1Segmentation

4Measurement precision

If more tests are run to achieve accurate diagnosis with uniform priors, then the diagnosis accuracy may improve, but the time and resources required increase

Engineering Contradiction:
Improvediagnosis accuracyVSAvoiddiagnosis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary computation of data-augmented prior probabilities using historical data before the actual diagnosis execution. This pre-computed information guides the test selection and execution process, allowing the system to achieve accurate diagnoses with fewer tests by focusing computational resources on the most likely faulty components identified through historical patterns

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10437702B2Data-augmented software diagnosis method and a diagnoser therefor
Publication Date: 2019.10.08 BG NEGEV TECHNOLOGIES & APPLICATIONS LTD
  • US10437702B2 patent drawing
  • US10437702B2 patent drawing

AI summary

The present invention is directed to a method for diagnosing faults in a software system, according to which, predictions of the probability of each software component of the software system to be faulty are obtained from a diagnoser, and the probability predictions are input to a fault diagnosis software module, executed by the diagnoser.