Machine Learning Model Generates Digital Assistants from Source Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for creating digital assistants from source code repositories are inefficient and dependent on the skill and experience of developers, leading to variability in effectiveness and efficiency.

Innovation Solution

A machine-learning model is trained using labeled examples of source code repositories and corresponding digital assistant definitions, enabling the automatic generation of digital assistants from source code repositories.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If digital assistants are manually created by developers, then customization and adaptability are improved, but time consumption and effort increase significantly

Engineering Contradiction:
ImprovecustomizationVSAvoidtime consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system creates digital assistants by automatically copying and adapting patterns from existing source code repositories. Instead of manually creating each digital assistant from scratch, the system learns from labeled examples and generates new digital assistants by replicating successful patterns, thereby reducing time consumption while maintaining adaptability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary actions by pre-training machine learning models on large datasets of source code repositories and their corresponding digital assistants. This preliminary training enables the system to quickly generate customized digital assistants later without requiring extensive manual effort for each new creation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If digital assistants are manually created by developers, then quality and effectiveness can be controlled, but consistency varies due to developer skill differences

Engineering Contradiction:
ImproveeffectivenessVSAvoidconsistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system enables self-service by allowing digital assistants to be generated automatically without requiring human developer intervention for each creation. The machine learning model independently analyzes source code repositories and generates digital assistants, eliminating variability caused by different developer skills while maintaining consistent quality through learned best practices.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback mechanisms by training on labeled examples where the quality and effectiveness of digital assistants are already established. The model learns from this feedback loop, continuously improving its ability to generate consistent and effective digital assistants by comparing generated results against known good examples.

Inventive Principle:
Principle #23Feedback

3Productivity

If automated systems are used to generate digital assistants, then productivity and efficiency are improved, but complexity of the system increases

Engineering Contradiction:
ImproveefficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system achieves universality by creating a single machine learning model that can handle multiple tasks: analyzing source code, understanding application functionality, and generating digital assistants. This multi-functional approach improves productivity without proportionally increasing complexity, as one system performs what would otherwise require multiple separate tools and processes.

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

4Manufacturing precision

If manual creation processes are used, then control over digital assistant quality is maintained, but the effort and skill requirement increase

Engineering Contradiction:
Improvequality controlVSAvoidease of creation
Core Design Contradiction:
Manufacturing precisionVSEase of manufacture

Solution Approach 1:

The system replaces the mechanical process of manual digital assistant creation with an automated machine learning-based system. This substitution maintains quality control through learned patterns from labeled examples while dramatically easing the creation process, allowing digital assistants to be generated without requiring deep developer expertise or extensive manual effort.

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

Data Source

PatentUS12293168B2Generating digital assistants from source code repositories
Publication Date: 2025.05.06 SAP SE
  • US12293168B2 patent drawing
  • US12293168B2 patent drawing
  • US12293168B2 patent drawing

AI summary

A machine-learning model is trained using a training set that comprises labeled examples. Each example is a source code repository for an application and each label is a digital assistant for the application. The trained machine-learning model receives a source code repository as input and generates a digital assistant as output. The machine-learning model may be trained using the transformer architecture that is based on attention mechanisms without using recurrence and convolution. Prior to use in training, a collection of source code repositories may be filtered to remove repositories or files that use unknown or unsupported programming languages, that are labeled with incorrect or invalid digital assistant definitions, that include too many or too few files, or that include too many or too few lines of code. A separate machine-learning model may be trained for each programming language, for each digital assistant definition framework, or for each language/framework pair.