Machine Learning Code Architecture Discovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers, especially beginners, struggle to design modules that fit into specific well-formed categories, leading to undesirable architectures and increased technical debt. Manual categorization of code modules is tedious and prevents large enterprise codebases from being effectively analyzed and monitored.

Innovation Solution

The implementation of machine learning techniques to automate the classification of code modules into architectural roles and layers, using a trained model to predict the appropriate layer classification for a given module and perform subsequent automatic analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual categorization of code modules is performed, then classification accuracy can be maintained, but the process becomes tedious and time-consuming, preventing large enterprise codebases from being effectively analyzed

Engineering Contradiction:
Improveclassification accuracyVSAvoidcategorization time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces the manual mechanical categorization process with an automated machine learning system. The ML model analyzes code modules and automatically assigns architectural role classifications, eliminating the need for developers to manually review and categorize each module while maintaining classification accuracy through trained algorithms.

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

Solution Approach 2:

The codebase performs self-categorization through the automated ML system. The system independently analyzes code modules, determines their architectural roles, and organizes them without requiring human intervention, enabling large enterprise codebases to be effectively analyzed and monitored.

Inventive Principle:
Principle #25Self-service

2Productivity

If automated machine learning classification is implemented, then categorization efficiency and scalability improve, but system complexity increases

Engineering Contradiction:
Improvecategorization efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary machine learning model that bridges the gap between raw code and architectural classification. This intermediary system handles the complex analysis and categorization tasks, shielding users from the underlying complexity while delivering accurate results through a standardized interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The ML-based categorization system is designed to be universally applicable across different codebases, programming languages, and organizational structures. The same system can handle small to large enterprise codebases with varying complexity levels, reducing the need for multiple specialized tools and simplifying the overall system architecture.

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

Data Source

PatentUS12223316B2Architecture discovery
Publication Date: 2025.02.11 OUTSYST SOFTWARE EM REDE
  • US12223316B2 patent drawing
  • US12223316B2 patent drawing
  • US12223316B2 patent drawing

AI summary

A program code component module implementing a portion of a program application is received. A trained machine learning model is used to automatically predict to which one among a plurality of program architecture layer classifications the program code component module belongs. An automatic analysis option is selected based on the predicted program architecture layer classification for the program code component module. The selected automatic analysis option is performed on the program code component module.