AI/ML Merge Conflict Resolution for PLC Control Code
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Industrial control programs face challenges in accurately summarizing changes due to varying levels of understanding among entities, merge conflicts arising from concurrent edits, and the inability to discern code changes through graphical interfaces or domain-specific languages.
Innovation Solution
An automated system utilizing artificial intelligence and machine learning generates plain language summaries of code changes and resolves merge conflicts by analyzing formal language constructs, considering entity roles and vernacular, and applying historical data to provide understandable options.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If version summaries are created by entities editing the program, then the summaries reflect the changes made, but the summaries may be vague or confusing to other entities and do not accurately reflect the change
Solution Approach 1:
The patent introduces an automated summary generation system that acts as an intermediary between the code changes and the human entities. This system uses natural language processing and machine learning to generate accurate, unambiguous summaries of code changes, eliminating the vagueness and confusion that arise when summaries are manually created by entities with different levels of understanding
Solution Approach 2:
The patent replaces the manual mechanical process of creating version summaries with an automated computational system. The system uses artificial intelligence and natural language generation to automatically create summaries from code diff data, eliminating the human error and subjectivity inherent in manual summary creation
2Ease of operation
If entities interact with program code via graphical user interface or domain specific language, then the interface provides abstracted representation, but the entity is unable to discern changes made to the program code
Solution Approach 1:
The automated summary generation system serves as an intermediary that bridges the gap between the abstracted graphical interface and the underlying code changes. It translates the technical code modifications into plain language descriptions that are visible to users through the interface, making changes discernible without requiring direct code inspection
Solution Approach 2:
The system replaces the need for users to directly inspect code or domain-specific language syntax with an automated natural language generation mechanism. This substitution allows users to understand changes through readable summaries while maintaining the benefits of the abstracted graphical interface
3Adaptability or versatility
If multiple entities work on the same program code concurrently, then collaboration is enabled, but merge conflicts occur when changes cannot be implemented without further resolution
Solution Approach 1:
The system performs preliminary analysis of potential merge conflicts by comparing incoming code changes against existing versions before the conflict fully manifests. It generates predicted resolution options in advance, allowing entities to review and select resolution strategies before committing changes, thereby reducing the time needed to resolve actual conflicts
Solution Approach 2:
The system enables self-service merge conflict resolution by automatically generating multiple resolution options with plain language explanations. Entities can review these pre-generated options and select the appropriate resolution without requiring extensive manual analysis or intervention from other team members, significantly reducing resolution time
Data Source
AI summary
Various systems and methods are presented regarding using generative artificial intelligence/machine language (AI/ML) to resolve a merge conflict between two or more versions of a program code. The program code can be industrial automation software utilized to control one or more PLCs in an industrial environment. Interaction with the program code can be via a programming tool that presents the program code in a human readable format, while the AI/ML can be applied to the underlying source code. Hence, while the source code is applied to the PLC, the programming tool enables interaction various human readable summaries of the program code and respective options available to resolve the merge conflict. Accordingly, a process engineer, or suchlike, does not have to be familiar with the source code format to readily understand a summary of the merge conflict or one or more options available to correct the conflict.


