Neural Network Triage for Static Code Issue Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current static code analysis tools require significant developer time to resolve issues and may not effectively address all problems, particularly auto-generated code or issues with no added value, due to a lack of trained personnel and limited capabilities in distinguishing exempt and non-exempt issues.

Innovation Solution

A system utilizing trained artificial neural networks to classify static code issues as exempt or non-exempt, and provide dynamic suggestions for resolution, including estimated time frames, by analyzing past resolutions and integrating with existing development environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated static code analysis tools are used, then code analysis coverage is improved, but false sense of security occurs and issues may not be properly addressed

Engineering Contradiction:
Improvecode analysis coverageVSAvoidaccuracy of issue detection
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A trained machine learning model is introduced as an intermediary between the static code analysis tool and the developer. The model classifies static code issues into exempt and non-exempt categories, providing a layer of intelligence that bridges the gap between automated scanning and accurate issue identification, preventing false positives from being treated as genuine problems

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service by automatically classifying and prioritizing code issues without requiring developer intervention for each individual issue. The machine learning model autonomously determines which issues need attention and which can be exempted, allowing the code analysis process to serve itself rather than relying on continuous human review

Inventive Principle:
Principle #25Self-service

2Reliability

If developers manually review and resolve static code issues, then issue resolution quality is improved, but significant time is spent and not enough trained personnel are available

Engineering Contradiction:
Improveissue resolution qualityVSAvoidtime for issue resolution
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-service by automatically classifying static code issues into exempt and non-exempt categories using a trained machine learning model. This automation handles the initial triage and prioritization work that would otherwise require significant developer time and expertise, freeing developers to focus only on the most critical issues

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The machine learning model performs preliminary classification of code issues before developers begin their review process. By pre-sorting issues into exempt and non-exempt categories based on historical data and patterns, the system prepares the groundwork for more efficient developer intervention, ensuring that only relevant issues reach the developer's attention

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If static code analysis is conducted thoroughly, then code quality is improved, but a lot of time is spent finding solutions and not enough trained personnel are available

Engineering Contradiction:
Improvecode qualityVSAvoidefficiency of code review
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system automates the time-consuming aspect of thorough code analysis by having the machine learning model independently classify and prioritize issues. This self-service capability maintains high code quality standards through comprehensive analysis while eliminating the bottleneck of manual review time, as the model quickly processes and categorizes all detected issues

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual code review with an intelligent machine learning system. Instead of relying on human developers to manually examine and categorize each static code issue, the system uses trained algorithms to automatically perform the classification, substituting human mechanical effort with automated intelligent processing that maintains thoroughness while dramatically improving efficiency

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

Data Source

PatentUS11842175B2Dynamic recommendations for resolving static code issues
Publication Date: 2023.12.12 SAP SE
  • US11842175B2 patent drawing
  • US11842175B2 patent drawing
  • US11842175B2 patent drawing

AI summary

According to some embodiments, systems and methods are provided, comprising receiving a code fragment exhibiting a static code issue; determining, via a trained exemption neural network, whether the received code fragment is exempt or not exempt from resolution; in a case it is not exempt, inputting the code fragment to a trained classification neural network; determining whether the static code issue is a syntactical static code issue or a non-syntactical static code issue; in a case it is a syntactical static code issue, inputting the code fragment to a first trained network to generate a first resolution; and in a case the static code issue is a non-syntactical static code issue, inputting the code fragment to a second trained network to generate a second resolution of the non-syntactical static code issue. Numerous other aspects are provided.