IDE Repository Search Indexing for Code Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Efficiently and accurately searching for specific methods and libraries across code repositories from within an Integrated Development Environment (IDE) is challenging in networked computing environments.

Innovation Solution

A method and system for IDE-based repository searching, where a first program code file is received, parsed, and indexed based on attributes, and a search request from a second IDE is fulfilled by identifying and transmitting a matching program code file from the repository.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code repositories are made searchable and accessible across a network, then code sharing and collaboration are improved, but searching efficiency and accuracy for specific methods and libraries deteriorate

Engineering Contradiction:
Improvecode sharing capabilityVSAvoidsearching efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-indexing code repositories with metadata, attributes, and structural information before search operations. The system prepares search indexes, categorizes code elements, and organizes repository data in advance, enabling fast and accurate retrieval when search requests are made, thus resolving the contradiction between broad accessibility and searching efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary search indexing system that mediates between the distributed code repositories and the IDE search functionality. This intermediary layer processes and structures repository data, enabling efficient querying without requiring direct access to raw repository contents, thereby maintaining both versatility and productivity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If comprehensive code repository indexing is implemented, then search accuracy is improved, but system complexity and processing overhead increase

Engineering Contradiction:
Improvesearch accuracyVSAvoidindexing system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the code repository indexing into distinct components: metadata extraction, attribute parsing, structural analysis, and index organization. Each segment handles specific aspects of code elements (classes, methods, libraries) independently, improving search accuracy while managing system complexity through modular processing

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by applying different indexing strategies and levels of detail to different types of code elements and repository sections. Critical search targets like method signatures and class definitions receive detailed indexing, while less frequently searched elements use simplified indexing, optimizing the balance between accuracy and complexity

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9946537B2Integrated development environment-based repository searching in a networked computing environment
Publication Date: 2018.04.17 KYNDRYL INC
  • US9946537B2 patent drawing
  • US9946537B2 patent drawing
  • US9946537B2 patent drawing

AI summary

Embodiments of the present invention provide an approach for integrated development environment (IDE)-based repository searching (e.g., for library elements such as classes and/or functions) in a networked computing environment. In a typical embodiment, a first program code file is received from a first integrated development environment (IDE). The first program file may be associated with a set of attributes as stored in an annotation, header, or the like. Regardless, the first program file may be parsed and indexed into a repository based on the set of attributes. A search request may then be received from a second IDE. Based on the search request and the set of attributes, a matching program code file may then be identified as stored in the repository. Once identified, the matching program code file may be transmitted/communicated to the second IDE to fulfill the search request.