Open Source Component Detection via Hierarchical Code Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in accurately and extensively detecting open-source software components, especially when they are reused in modified forms, leading to difficulties in identifying license violations and security risks.

Innovation Solution

A method using a processor to construct a component database by performing redundancy elimination on open source software, and then identifying components of target software by comparing the target source code with the application code parts of the open source software.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If open source software components are detected using traditional methods, then detection can be performed quickly, but detection accuracy is insufficient especially for modified open source software

Engineering Contradiction:
Improvedetection accuracyVSAvoiddetection time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments source code into hierarchical units (software→module→function→statement) to enable progressive comparison. This segmentation allows the system to first compare at the module level for quick filtering, then drill down to function and statement levels only for potential matches, thereby maintaining high accuracy while reducing overall detection time by avoiding exhaustive fine-grained comparison of all code.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by constructing component databases in advance and organizing code into hierarchical structures before actual detection. The system pre-processes open source software to create structured component databases with hierarchical relationships, enabling faster and more accurate detection during actual use without performing these complex organizational tasks during the detection phase.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If the number of open source software components to be detected increases, then comprehensive detection coverage is improved, but detection complexity and time increase

Engineering Contradiction:
Improvedetection coverageVSAvoiddetection system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The hierarchical segmentation of code into multiple levels (software, module, function, statement) enables the system to manage and compare large quantities of open source components efficiently. By organizing components hierarchically, the system can process and compare code at appropriate granularities, reducing the computational complexity that would otherwise arise from handling vast amounts of code directly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the detection process, transforming a flat, monolithic comparison problem into a multi-level structured comparison. This dimensional change allows the system to navigate through layers of abstraction, comparing components at different hierarchical levels, which simplifies the overall complexity of detecting across large numbers of open source software components.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If modified open source software is detected using traditional binary-level methods, then detection speed is maintained, but detection accuracy deteriorates due to modification detection limitations

Engineering Contradiction:
Improvemodification detection accuracyVSAvoiddetection efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments code into hierarchical units and applies selective comparison strategies. By segmenting code into modules, functions, and statements, the system can identify modifications at appropriate granularities without requiring exhaustive comparison of entire codebases, thus maintaining accuracy for modified software while preserving detection efficiency through selective deep analysis.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameters of comparison by using hierarchical code representation and similarity metrics that are sensitive to modifications. Instead of binary-level comparison, the system uses source code-level parameters and hierarchical structures that can detect modifications more accurately, while efficiency is maintained through the progressive comparison approach that avoids unnecessary fine-grained analysis.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4033380B1Method for identifying open-source software components at the source-code level
Publication Date: 2025.04.16 KOREA UNIV RES & BUSINESS FOUND
  • EP4033380B1 patent drawingFigure 1
  • EP4033380B1 patent drawingFigure 2
  • EP4033380B1 patent drawingFigure 3

AI summary

According to some exemplary embodiments of the present disclosure, a method for identifying open source software (OSS) components using a processor of a computing device is disclosed. The method for identifying open source software (OSS) components may include: constructing a component database by performing redundancy elimination for each of a plurality of open source software; and identifying a component of target software by using the component database.