Code Feature Behavior Analysis Engine for Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging software errors and performance issues remains a time-consuming and tedious task, consuming over fifty percent of software development time and costs, despite the use of software configuration management systems and formalized debugging approaches.

Innovation Solution

A behavior analysis engine compares code features between different versions to identify those that have changed and were executed, potentially associating them with a code behavior of interest, allowing for automated analysis and reduced debugging efforts by focusing on relevant code features.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional debugging approaches are used, then debugging can be performed, but it consumes over fifty percent of software development time and costs

Engineering Contradiction:
Improvedebugging timeVSAvoidsoftware development productivity
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent segments the debugging process by dividing code into discrete code features (methods, classes, functions) and tracking their execution status individually. This segmentation allows the system to identify and focus only on specific code features that were executed and changed, rather than analyzing entire codebases, thereby reducing debugging time while maintaining productivity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-executing code versions and recording execution status of code features before actual debugging occurs. By performing this execution analysis in advance and storing the results, the system eliminates the need for time-consuming manual debugging later, as developers can directly access pre-analyzed execution information

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If code versions are compared to identify error sources, then potential error locations can be found, but the process remains tedious and time-consuming

Engineering Contradiction:
Improveerror location identification accuracyVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements feedback by automatically comparing execution status of code features across different code versions and providing this comparison results back to developers. The system feeds back which specific code features were executed in the version with errors but not in the working version, enabling rapid identification of error locations without manual analysis

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary automated analysis system that mediates between code versions and developers. This intermediary automatically performs the complex task of comparing code features, tracking execution status, and identifying differences, thereby eliminating the need for developers to manually perform tedious comparison work while maintaining high precision in error location identification

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10565089B2Identification of code features potentially associated with code behavior
Publication Date: 2020.02.18 SAP SE
  • US10565089B2 patent drawing
  • US10565089B2 patent drawing
  • US10565089B2 patent drawing

AI summary

A first code version is received. The first code version includes a plurality of code features, such as methods or classes. A second code version is received. The second code version includes a plurality of code features. The first code version is executed. A first plurality of code features executed during the execution of the first code version are determined. A second plurality of code features differing between the first and second code versions are determined. The first and second plurality of code features are compared. An indication is provided that a code feature is potentially relevant to the code behavior if the code feature is present in the first plurality of code features and in the second plurality of code features.