Code Score Determination Using Pattern Recognition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for determining application reliability, resiliency, performance, and security metrics are manual and subjective, varying across businesses and lacking objectivity, which hinders consistent evaluation and comparison across different applications.

Innovation Solution

A computer-implemented method and system using machine learning to identify patterns in developed code based on user-provided score tags, applying these patterns to other code blocks, and determining objective score tags, thereby creating a structured shell and aggregate scores for applications, reducing subjectivity and enabling consistent comparison.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual processes are used to determine application metrics, then subjective evaluation can be performed, but consistency and objectivity across different businesses and applications deteriorate

Engineering Contradiction:
Improvemanual evaluation processVSAvoidobjectivity of metrics
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent replaces the manual mechanical evaluation process with an automated machine learning system that uses natural language processing to analyze code comments and generate objective metrics. This substitution eliminates human subjectivity while maintaining ease of operation through automated processing.

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

Solution Approach 2:

The system enables code to be automatically evaluated through its own comments and metadata without requiring manual intervention. The machine learning model extracts information directly from the code structure and associated comments, allowing the code to self-evaluate based on predefined criteria.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If manual evaluation by software engineers is used, then flexibility in determining metrics can be maintained, but time consumption and productivity deteriorate

Engineering Contradiction:
Improveflexibility in metric determinationVSAvoidspeed of evaluation
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system dynamically adapts to different code structures, programming languages, and evaluation criteria through the machine learning model's ability to process varied inputs. The flexibility is maintained through configurable parameters and adaptive learning while achieving high speed through automated processing.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The manual evaluation process is replaced with automated machine learning processing that can evaluate multiple applications simultaneously, dramatically increasing productivity while maintaining adaptability through the model's learning capabilities.

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

3Adaptability or versatility

If different metrics are used by various businesses, then customization to specific needs can be achieved, but comparability across applications deteriorates

Engineering Contradiction:
Improvecustomization of metricsVSAvoidconsistency of evaluation
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent creates a universal evaluation framework that can accommodate different business-specific metrics while maintaining consistent processing. The machine learning model is designed to handle multiple metric types and customization options while applying the same rigorous analysis methodology across all evaluations, ensuring comparability.

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

Solution Approach 2:

The system allows customization of evaluation parameters and criteria to match specific business needs while maintaining the core evaluation methodology. By changing parameters rather than fundamental approaches, the system achieves both customization and consistency.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If automated machine learning evaluation is implemented, then objectivity and consistency improve, but system complexity increases

Engineering Contradiction:
Improveobjectivity of metricsVSAvoidcomplexity of evaluation system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer of natural language processing that bridges the gap between code comments and structured evaluation metrics. This intermediary simplifies the overall system by translating unstructured text into standardized formats that the machine learning model can process, reducing the apparent complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The evaluation system is segmented into distinct modular components: natural language processing module, machine learning model, and metric generation module. This segmentation reduces complexity by allowing each component to be developed and maintained independently while working together to achieve objective evaluation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11188325B1Systems and methods for determining developed code scores of an application
Publication Date: 2021.11.30 CAPITAL ONE SERVICES LLC
  • US11188325B1 patent drawing
  • US11188325B1 patent drawing
  • US11188325B1 patent drawing

AI summary

Disclosed are systems and methods for determining developed code scores of an application. The method may include: receiving a shell of developed code for an application including first score tags of first blocks of developed code and second score tags of second blocks of developed code from a first user; storing the received shell of developed code in a database; receiving third score tags of the first blocks of developed code from a second user; identifying patterns in the developed code based on the received third score tags; applying the identified patterns to the second blocks of the developed code; determining fourth score tags for the second blocks of the developed code based on the applied patterns; and updating the shell of developed code based on the received third score tags and the determined fourth score tags.