Graph Neural Network Code Retrieval via Cross-Attention Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional code retrieval methods fail to effectively capture structural information and fine-grained semantic relationships between natural language queries and source code, leading to difficulties in aligning representations and retrieving relevant code snippets from large repositories.

Innovation Solution

The implementation of a graph neural network-based system that generates unified graph representations for queries and source code, leveraging cross-attention mechanisms to encode and match graph structure information, thereby exploring fine-grained semantic relations and narrowing semantic gaps between query texts and code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional information retrieval techniques are used to treat source codes as documents and perform keyword searching, then the retrieval process is simple and fast, but the system cannot understand the semantics of query texts and source codes

Engineering Contradiction:
Improveretrieval speedVSAvoidsemantic understanding accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent replaces traditional mechanical keyword-matching retrieval systems with a neural network-based semantic understanding system. The system uses neural networks to encode query texts and source codes into distributed representations, enabling semantic comprehension rather than simple keyword searching, thus improving semantic understanding accuracy while maintaining reasonable retrieval efficiency

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

Solution Approach 2:

The patent transforms the retrieval approach by changing the representation parameters from raw keywords to distributed semantic vectors. By encoding texts and codes into continuous vector spaces where semantic meaning is preserved, the system achieves better semantic matching capability while the vector comparison operations maintain computational efficiency

Inventive Principle:
Principle #35Parameter changes

2Loss of information

If sequence encoder models are used for both query texts and source codes, then the system can learn distributed representations, but the models cannot capture structural information and long-range dependencies

Engineering Contradiction:
Improvesemantic representation completenessVSAvoidmodel architecture complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent transitions from one-dimensional sequence processing to two-dimensional graph structure processing. By representing source codes and query texts as graphs with nodes and edges capturing syntactic and semantic relationships, the system preserves structural information and long-range dependencies that sequence encoders miss, while the graph neural network framework provides a systematic approach to handling this increased dimensionality

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

Solution Approach 2:

The patent segments the code and text into meaningful units (nodes) and their relationships (edges), forming a graph structure. This segmentation allows the model to capture local structural patterns through node features and global structural information through graph topology, thereby preserving structural information that would be lost in sequential processing

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If traditional models align distributed representations with fine-granularity, then the system can match semantics, but the lack of exploration of different levels of semantic relationship makes alignment difficult

Engineering Contradiction:
Improvesemantic alignment accuracyVSAvoidmatching mechanism complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies partial attention mechanisms that focus computational resources on the most relevant parts of the query and code representations. Rather than computing all possible pairwise relationships, the attention mechanism selectively attends to important semantic relationships at different granularities, achieving fine-grained alignment without requiring exhaustive comparison of all representation levels

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11720346B2Semantic code retrieval using graph matching
Publication Date: 2023.08.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11720346B2 patent drawing
  • US11720346B2 patent drawing
  • US11720346B2 patent drawing

AI summary

Techniques regarding code retrieval tasks are provided. For example, one or more embodiments described herein can comprise a system, which can comprise a memory that can store computer executable components. The system can also comprise a processor, operably coupled to the memory, and that can execute the computer executable components stored in the memory. The computer executable components can comprise a code retrieval component that can execute a code retrieval machine learning task by computing an amount of similarity between neural network embeddings of graph representations of a query text and at least a portion of a computer program code.