Multi-segment String Search for Codebases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional search methods fail to effectively identify the best results when searching for multi-segment strings, often returning incorrect function names due to substring matches, making it difficult for programmers to find specific functions in large codebases.

Innovation Solution

A search system that receives a query string, divides it into segments, and compares these segments with stored strings, ranking results based on the closeness of the match, including both exact and partial matches, while also performing a traditional search to account for spelling errors or incorrect segment division.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional substring search methods are used, then the search system can find all strings containing the search term, but it returns too many incorrect results including unrelated functions

Engineering Contradiction:
Improvesearch accuracyVSAvoidnumber of search results
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides multi-segment strings (such as CamelCase identifiers) into individual segments separated by capital letters. The search system then compares query segments against stored string segments, ensuring that only strings with matching segments are returned. This segmentation approach prevents false matches like 'profile' being returned for a search of 'file', while still returning relevant results, thus improving search accuracy without unnecessarily limiting the number of valid results.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If the search system requires exact segment matches, then it improves precision but fails to handle user errors in spelling or segment division

Engineering Contradiction:
Improvematch precisionVSAvoidtolerance to user errors
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent implements a hybrid search approach that performs both exact segment matching and traditional substring matching. The segment-based search provides precise results when users input correct segments, while the traditional substring search acts as a fallback to catch spelling errors or incorrect segment division. This partial application of exact matching combined with more lenient substring matching allows the system to maintain high precision for correct queries while remaining adaptable to user errors.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7756859B2Multi-segment string search
Publication Date: 2010.07.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7756859B2 patent drawing
  • US7756859B2 patent drawing
  • US7756859B2 patent drawing

AI summary

A method and system for searching multi-segment strings is provided. The search system receives a query string containing part or all of the segments that are to be matched as query segments. Upon receiving the query string, the search system compares the query segments provided in the query string with segments gathered from previously stored strings. If any segments match the query segments, the search system selects the strings that contain matching segments as search results.