Graph-Based Semi-Supervised Dockerfile Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The construction of Dockerfiles for containerization is manual, lacks standards, and security aspects, and requires specific files for each application, with existing solutions failing to provide direct methods for automatic generation and addressing syntactic/semantic errors.

Innovation Solution

A graph-based semi-supervised file generation method that filters high-quality repositories, splits data into subsets, generates feature vectors, constructs level graphs, and uses semi-supervised learning to automatically generate Dockerfiles, reducing manual effort and improving security by leveraging a small set of labeled files.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual construction of Dockerfiles is used, then security and standards can be maintained, but productivity is reduced and time is lost

Engineering Contradiction:
ImprovesecurityVSAvoidfile generation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system enables self-service by automatically generating Dockerfiles through machine learning models that learn from existing high-quality files, eliminating the need for manual construction while maintaining security standards through supervised learning on curated datasets

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Manual mechanical construction of Dockerfiles is replaced with an automated machine learning system that uses neural networks and graph-based representations to generate files automatically, substituting human effort with intelligent automation

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

2Productivity

If existing automatic generation solutions are used, then productivity is improved, but they fail to provide direct methods for generation and address syntactic/semantic errors

Engineering Contradiction:
Improveautomation capabilityVSAvoidgeneration accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary action by curating and filtering high-quality Dockerfiles before training the model, pre-processing the training data to ensure only accurate, standards-compliant files are used, which prevents propagation of errors in generated files

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system incorporates feedback mechanisms by using semi-supervised learning where the model learns from both labeled high-quality data and unlabeled data, continuously improving generation accuracy through feedback from the curated dataset and error correction

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If large amounts of existing files are used for training, then data availability is improved, but noise increases and file quality decreases

Engineering Contradiction:
Improvetraining data volumeVSAvoidfile quality
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system extracts only the high-quality subset of Dockerfiles from the larger dataset through filtering and curation processes, removing noisy or low-quality files while retaining sufficient training data volume to train effective machine learning models

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system applies local quality by creating a curated subset of high-quality Dockerfiles specifically for training purposes, ensuring that the training data has uniformly high quality standards rather than relying on the variable quality of all available files

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20230394112A1Graph-based semi-supervised generation of files
Publication Date: 2023.12.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20230394112A1 patent drawing
  • US20230394112A1 patent drawing
  • US20230394112A1 patent drawing

AI summary

A processor may collect a set of repositories. The processor may filter the set of repositories based on one or more predefined rules. The processor may obtain a high-quality subset from the set of repositories. The high-quality subset may include one or more datum. The processor may split the one or more datum into a high-quality dataset and an uncertain dataset.