Code Search Visualization Using Spatial Map Views

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development tools face challenges in efficiently searching for patterns in large program code databases, as they often rely on lengthy hierarchical lists that do not provide a spatial representation of search results, making it difficult for users to quickly locate relevant code segments.

Innovation Solution

The system displays search results as either equally-sized tiles or closely-packed blocks within a viewport, using non-affine projection and sorting by personal relevance, allowing users to visually identify patterns and structures in program code files without the need for scrollbars, and includes features like linking and brushing for enhanced navigation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If search results are displayed as hierarchical lists in traditional software development tools, then the search functionality is provided, but the spatial representation of search results is lost and users cannot quickly locate relevant code segments

Engineering Contradiction:
Improvespatial representation of search resultsVSAvoidease of locating relevant code segments
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent transforms the traditional one-dimensional hierarchical list into a two-dimensional spatial map view. Each code segment is represented as a visual element positioned according to its location in the codebase, creating a visual map that preserves spatial relationships. This dimensional transformation allows users to quickly locate relevant code segments by visual inspection rather than scrolling through text lists.

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

2Loss of information

If traditional text-based search results are used, then search functionality is provided, but users experience difficulty in visually identifying patterns and structures in program code files

Engineering Contradiction:
Improvevisual identification of patterns and structuresVSAvoidtime for manual text-based analysis
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent applies color coding to different code segments and patterns in the visual map. Related code segments are highlighted with similar colors, and different patterns or types of code are distinguished by color variations. This visual encoding enables users to quickly identify patterns and structures through color recognition rather than reading and analyzing text, significantly reducing manual analysis time.

Inventive Principle:
Principle #32Color changes

3Quantity of substance

If large program code databases are searched using traditional methods, then comprehensive search coverage is achieved, but the user interface becomes challenging and inefficient

Engineering Contradiction:
Improvesearch scope coverageVSAvoiduser interface efficiency
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent segments the large program code database into manageable visual units represented as discrete elements in the map view. Each code segment is rendered as a separate visual element that can be individually inspected. This segmentation allows the interface to handle large search scopes by dividing them into visual chunks, maintaining ease of operation even when searching through extensive codebases.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10261758B2Pattern recognition of software program code in an integrated software development environment
Publication Date: 2019.04.16 SAP SE
  • US10261758B2 patent drawing
  • US10261758B2 patent drawing
  • US10261758B2 patent drawing

AI summary

A software development environment receives an input string from a user, and searches for the input string in a plurality of program code files. The system then displays a result of the scope of the search on a viewport of a display unit, wherein the search result includes miniature views of the program code files. In an embodiment, the search result on the viewport of the display unit includes equally-sized tiles. In another embodiment, the result on the viewport of the display unit includes a set of closely-packed blocks with a varying compression rate applied to the closely-packed blocks.