Automated Code Delivery Evaluation With Dynamic Distance Maps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing code evaluation processes in DevOps, such as code review and testing, are inadequate as they rely heavily on individual reviewer skills and often fail to catch errors, especially when reviewing unfamiliar code blocks, and full regression testing is time-consuming and not always feasible.
Innovation Solution
Automate the evaluation of code delivery by dividing projects into code blocks, calculating correlations using Euclidean distance, generating dynamic distance maps based on code delivery history, and recommending reviewers familiar with the code blocks to ensure compliance with best practices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual code review is performed by individual reviewers, then reviewer flexibility and adaptability are maintained, but error detection reliability decreases when reviewers are unfamiliar with the code blocks
Solution Approach 1:
The patent introduces an automated code evaluation system that acts as an intermediary between code submissions and human reviewers. This system calculates code delivery distance metrics and generates risk assessments, providing reviewers with objective data about code familiarity and potential issues. The intermediary system compensates for human reviewers' lack of familiarity with unfamiliar code blocks by providing quantitative analysis that humans cannot easily perform alone.
Solution Approach 2:
The patent replaces the mechanical process of manual code inspection with an automated computational system that uses Euclidean distance calculations and machine learning models to evaluate code delivery risk. This substitution enables consistent, scalable evaluation that does not depend on individual reviewer expertise or familiarity with specific code blocks, thereby improving reliability without sacrificing adaptability.
2Reliability
If full regression testing is performed on all code deliveries, then error detection reliability improves, but development time and productivity decrease
Solution Approach 1:
The patent implements partial testing by evaluating only the specific code blocks that were modified in a delivery, rather than performing full regression testing on the entire codebase. The system calculates code delivery distance to identify which code blocks require evaluation, enabling targeted testing that maintains reliability for changed areas while avoiding unnecessary testing of unchanged areas, thus preserving productivity.
Solution Approach 2:
The patent performs preliminary evaluation of code deliveries using automated distance metrics and risk assessments before full testing is committed to. This preliminary action identifies high-risk deliveries that require extensive testing and low-risk deliveries that may suffice with lighter validation, enabling the team to allocate testing resources efficiently and maintain both reliability and productivity.
3Adaptability or versatility
If code is divided into microservices for independent deployment, then deployment flexibility and adaptability improve, but the complexity of tracking code relationships and delivery risk increases
Solution Approach 1:
The patent implements a universal code delivery evaluation system that works across microservice boundaries. The system calculates code delivery distance using a standardized metric that can evaluate any code block regardless of which microservice it belongs to. This universal approach simplifies tracking code relationships across distributed services by providing a consistent evaluation framework that handles inter-service dependencies automatically, reducing the perceived complexity for users.
Data Source
AI summary
Systems, methods and/or computer program products for automating evaluations of code deliveries for software projects. Automated evaluations are generated by selecting software projects and dividing a project into a plurality of code blocks by analyzing the code, build file and build log. Attributes of code blocks are extracted and correlations between code blocks are calculated. Dynamic distance between code blocks is calculated by the correlation and code delivery history, to create a Dynamic General Distance Map and Dynamic User Distance Map for the code blocks. Code delivery distance indicating the code delivery behavior is generated by the Dynamic User Distance Map while the delivery assessment criteria is generated to evaluate code delivery and assess levels of risk associated with delivery of the code. High-level risk indicates that a code delivery may not follow best practices and users are alerted to pay more attention to the code delivery during review.


