Functionality-Clustered Code Search Within Relevant Software Packages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing semantic and neural code search techniques struggle with identifying relevant code blocks within the correct software package, often requiring precise queries and facing scalability issues due to large code block databases, leading to inaccurate and inefficient searches.

Innovation Solution

Code blocks are clustered by functionality using embeddings, generating package, functionality, and code block embeddings, which are then used to accurately identify relevant code blocks within the correct software package, improving scalability and accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If existing semantic and neural code search techniques are used to search through large databases of code blocks, then the search coverage increases, but the search accuracy decreases and the search efficiency deteriorates

Engineering Contradiction:
Improvecode block database sizeVSAvoidsearch accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent segments the code block database into multiple clusters based on functionality and software package context. Each cluster represents a subset of code blocks with similar characteristics, allowing the search system to navigate through organized groups rather than examining all code blocks individually. This segmentation maintains high search accuracy while enabling efficient searching across large databases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary clustering and organization of code blocks into functionality-based groups before the actual search operation. By pre-processing the database to create structured clusters with metadata about software packages and functional categories, the system prepares the data in advance to enable fast and accurate retrieval without examining every code block during the search phase.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If existing semantic and neural code search techniques are used to search through large databases of code blocks, then the search coverage increases, but the search efficiency decreases

Engineering Contradiction:
Improvecode block database sizeVSAvoidsearch efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The code block database is divided into multiple functionality-based clusters, each representing a specific domain or purpose. This segmentation allows the search system to quickly eliminate irrelevant clusters and focus only on those that match the query, dramatically improving search efficiency while maintaining the ability to search through large databases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary clustering and indexing of code blocks by functionality and software package context before searching. This pre-organization creates a structured framework that enables rapid navigation through the database, allowing efficient retrieval even when searching through large numbers of code blocks across multiple packages.

Inventive Principle:
Principle #10Preliminary action

3Speed

If code blocks are searched without considering software package context, then the search speed increases, but the relevance of results decreases

Engineering Contradiction:
Improvesearch speedVSAvoidresult relevance
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent adds a new dimension to the search space by incorporating software package context as a filtering criterion alongside functionality-based clustering. This dimensional extension allows the system to maintain fast search speeds through organized clusters while simultaneously ensuring result relevance by considering the software package context in which code blocks reside.

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

Data Source

PatentUS12443396B2Identification of relevant code block within relevant software package for a query
Publication Date: 2025.10.14 MICRO FOCUS LLC
  • US12443396B2 patent drawing
  • US12443396B2 patent drawing
  • US12443396B2 patent drawing

AI summary

A database stores, for each of a number of software packages, a software package embedding representing the software package. The database stores, for each software package, code block embeddings respectively representing code blocks of the software package. The database stores, for each software package, functionality embeddings respectively representing functionality clusters into which the code block embeddings representing the code blocks of the software package have been clustered. A query embedding representing a query is generated, and used to query the database to identify a relevant code block within a relevant software package for the query.