Colorizing Concept Keywords in Source Code Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for writing and reviewing software code lack the ability to easily visualize correlations between related words within identifiers, making it difficult for developers to identify and distinguish between concept keywords in large programs.

Innovation Solution

A computer system decomposes program identifiers into concept keywords, determines a numerical value for each, and assigns a color based on this value to enhance visibility and readability, allowing for colorization of concept keywords within source code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If traditional color schemes are used to colorize code elements, then basic syntax highlighting is achieved, but related concept keywords within identifiers cannot be visually correlated

Engineering Contradiction:
Improvevisual correlation between related wordsVSAvoidcolor assignment system
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent applies color changes by assigning specific colors to concept keywords based on their numerical values. The system decomposes identifiers into concept keywords, calculates numerical values for each, and assigns colors accordingly, enabling visual correlation of related words through color-coded highlighting in the IDE.

Inventive Principle:
Principle #32Color changes

Solution Approach 2:

The patent changes parameters by transforming concept keywords into numerical values through a deterministic function, then using these numerical values to select colors. This parameter transformation enables systematic color assignment that correlates related keywords while maintaining consistency across the codebase.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If identifiers are not colorized, then the color scheme remains simple, but developers cannot easily identify related functions and concepts in large programs

Engineering Contradiction:
Improveidentification of related functionsVSAvoidtime spent searching for identifiers
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system colorizes concept keywords within identifiers by assigning colors based on numerical values derived from the keywords themselves. This enables developers to quickly identify related functions and concepts through visual color correlation, reducing the time needed to search for and understand code relationships.

Inventive Principle:
Principle #32Color changes

3Loss of information

If systematic searching is used to find related identifiers, then all instances can be found, but the process is time-consuming and not easily visible

Engineering Contradiction:
Improvevisibility of related identifiersVSAvoidsearch time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

Instead of systematic searching, the patent assigns colors to concept keywords based on their numerical values, making related identifiers visually apparent throughout the code. This eliminates the need for time-consuming searches while maintaining full visibility of related identifiers through color-coded highlighting.

Inventive Principle:
Principle #32Color changes

Data Source

PatentUS7634454B2Concept keywords colorization in program identifiers
Publication Date: 2009.12.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7634454B2 patent drawing
  • US7634454B2 patent drawing
  • US7634454B2 patent drawing

AI summary

In one embodiment of this invention, a computer system performs a method for colorizing concept keywords within program identifiers in source code. A computer system decomposes each identifier in the source code into one or more concept keywords The computer system determines a numerical value for each concept keyword based on the sequence of characters included in each concept keyword. The computer system assigns a color to each concept keyword based on the numerical value determined for each concept keyword.