Interactive Code Flow Visualization for Client-Server Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods fail to provide an effective visualization of complex client-server interactions in software code, making it difficult for programmers to understand the logic and flow of communications between clients and servers, especially in large-scale software projects where multiple programming languages, scripts, and databases are involved.

Innovation Solution

A software program comprising a code parser and tokenizer that generates meta-data and symbolic links between client and server code, allowing for interactive visualization of code flow and interconnections, enabling better understanding of complex software systems without requiring deep knowledge of individual programming languages or debugging tools.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If programmers individually read source code for client and server programs, then they can understand the code flow, but it requires deep knowledge of programming languages, coding styles, and design philosophy which is time-consuming and difficult for large-scale software

Engineering Contradiction:
Improveunderstanding of code flowVSAvoidtime to read and understand source code
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates visual copies and abstractions of the source code through flowcharts and maps that represent the logical flow and interconnections without requiring programmers to read the actual source code. This allows understanding of code flow while saving significant time.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary visualization system that translates complex source code into simplified visual representations. This intermediary layer allows programmers to understand client-server interactions without needing deep knowledge of the underlying programming languages and coding styles.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If flowcharts and maps are used to chart functions in a program, then visualization is provided, but the complexity of modern software may be prohibitively large to chart or map

Engineering Contradiction:
Improvevisualization of code flowVSAvoidcomplexity of software to be visualized
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the visualization into different views and levels of abstraction, allowing complex software systems to be broken down into manageable components that can be visualized and understood incrementally.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds visual dimensions to represent code flow and interconnections, transforming one-dimensional source code text into multi-dimensional visual representations that can capture complex relationships without being prohibitively large.

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

3Reliability

If debugging tools are used to capture software bugs, then some bugs can be detected, but they may not be powerful enough to capture every kind of software bug with granularity, especially when bugs result from program interactions between clients and server

Engineering Contradiction:
Improvebug detection capabilityVSAvoidpower and granularity of debugging tools
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces visualization as an intermediary debugging tool that complements traditional debugging tools by providing a holistic view of client-server interactions. This allows detection of bugs that result from program interactions without requiring extremely powerful and complex debugging tools.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms in the visualization system that allow programmers to trace and understand the flow of data and control between client and server, enabling detection of interaction bugs through visual feedback rather than requiring powerful automated debugging tools.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10789154B2Client server computer code mapping and visualization
Publication Date: 2020.09.29 CODE WALKER L L C
  • US10789154B2 patent drawing
  • US10789154B2 patent drawing
  • US10789154B2 patent drawing

AI summary

The present disclosure is related to a software program comprising a source code parser configured to read a source code and interpret each function in the source code. In addition, the program generates meta-data about each function. The code parser may weight each function based on the complexity of the calls to each function to generate weighted meta-data. A visualization program may interpret the weighted meta-data and display an interactive visualization to a user.