Software Defect Detection Tool Using Multi-Engine Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software code often contains defects that cause improper execution, and existing technologies face challenges in accurately identifying and categorizing these defects, leading to inefficiencies and potential creation of more errors due to false positives and improper categorization.

Innovation Solution

A software defect detection tool comprising a retrieval engine, code analysis engine, performance analysis engine, and aggregation engine that monitors software code changes and performance in real-time to detect anomalies and identify defects, while a software defect analysis tool categorizes errors and generates corrective action plans using a universal logging system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing defect identification technologies are used, then defect detection is performed, but false positives occur and categorization accuracy deteriorates

Engineering Contradiction:
Improvedefect detection accuracyVSAvoidfalse positive rate
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The defect detection process is divided into multiple specialized engines: a retrieval engine that fetches code and defect data, a code analysis engine that examines code changes, a performance analysis engine that monitors execution, and an aggregation engine that synthesizes findings. This segmentation allows each component to specialize in specific aspects of defect detection, improving overall accuracy while reducing false positives through coordinated analysis.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements feedback mechanisms where the aggregation engine receives time correlation data from code and performance analysis engines, continuously refines defect identification based on temporal patterns, and adjusts categorization accuracy. The system learns from detected anomalies and uses this information to improve future defect detection, reducing false positives over time.

Inventive Principle:
Principle #23Feedback

2Productivity

If real-time monitoring is implemented, then execution efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvedefect detection efficiencyVSAvoidmonitoring system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The aggregation engine serves multiple functions: it receives and processes data from both code analysis and performance analysis engines, correlates timestamps to identify causal relationships, determines defects based on temporal patterns, and generates unified defect reports. This multi-functionality consolidates complexity into a single component while enabling real-time monitoring across the entire system.

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

Solution Approach 2:

The aggregation engine acts as an intermediary between the code analysis engine and performance analysis engine, translating their separate findings into unified defect identifications. It mediates the correlation between code changes and performance anomalies by comparing timestamps, thereby simplifying the overall system architecture while maintaining real-time monitoring capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If comprehensive code analysis is performed, then defect identification accuracy is improved, but processing time increases

Engineering Contradiction:
Improvedefect identification accuracyVSAvoidcode processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The code analysis engine performs preliminary analysis by comparing current code versions against previous versions to identify specific changes before full defect determination. The performance analysis engine simultaneously prepares execution data and timestamps. This preliminary action allows the aggregation engine to quickly correlate findings without performing comprehensive analysis from scratch, reducing processing time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors code changes and performance metrics in real-time rather than performing periodic batch analysis. The aggregation engine continuously receives timestamped data streams from both analysis engines, enabling ongoing defect identification without interrupting code execution. This continuous operation maintains high accuracy while minimizing processing delays.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10133651B2Software defect analysis tool
Publication Date: 2018.11.20 BANK OF AMERICA CORP
  • US10133651B2 patent drawing
  • US10133651B2 patent drawing
  • US10133651B2 patent drawing

AI summary

A software defect detection tool determines a modification in a software code at a first time and analyzes an execution of the software code to detect a performance issue at a second time. The software defect detection tool detects a defect in the software code by a comparison of the first time and a second time. A software defect analysis tool generates a cause/category combination for a software code defect. The software defect analysis tool determines whether the cause/category combination is an approved combination and whether the software code defect is a false positive. The software defect analysis tool generates a corrective action plan indicating measures to implement to reduce software defects.