Network Node Testing via Source Code Metadata Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional test tools are not well-suited for testing network nodes with reconfigurable features, such as those programmed using the P4 language, as they lack the ability to effectively handle user-defined protocols and proprietary source code, making it difficult to configure and test network nodes efficiently.

Innovation Solution

A network equipment test device that receives and analyzes source code metadata to generate test metadata, which is then used to create test plans for testing network nodes or APIs, allowing for efficient testing without requiring the original source code, thereby reducing configuration time and accommodating reconfigurable features.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional test tools are used for network nodes with reconfigurable features, then the testing process becomes complex and time-consuming, but the tools lack the ability to effectively handle user-defined protocols and proprietary source code

Engineering Contradiction:
Improveability to handle user-defined protocolsVSAvoidconfiguration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent uses source code metadata (a copy/representation of the actual source code) to generate test metadata and configure test tools. Instead of requiring access to proprietary source code, the system creates a simplified metadata representation that captures essential information about P4 programs, tables, counters, and protocols, enabling automated test configuration without time-consuming manual setup

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces source code metadata as an intermediary between the proprietary source code and the test tools. This metadata layer acts as a mediator that translates complex source code information into a format that conventional test tools can process, enabling them to handle user-defined protocols and reconfigurable features without requiring modification to the tools themselves

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If manual configuration of test plans is performed for P4 programmed devices, then testing can be customized, but the process is time-consuming and requires significant human intervention

Engineering Contradiction:
Improvetesting accuracyVSAvoidtest setup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by automatically generating test metadata from source code metadata before the actual testing process. The system pre-configures test plans, test cases, and test parameters by analyzing the P4 source code metadata, which captures information about tables, counters, protocols, and data structures. This preliminary automated configuration eliminates time-consuming manual setup while ensuring testing accuracy through systematic coverage of all relevant elements

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables the test system to serve itself by automatically generating test metadata and configuring test plans without human intervention. The system self-configures by parsing source code metadata, identifying testable elements, and creating appropriate test cases automatically. This self-service capability maintains reliability through comprehensive automated testing while dramatically reducing the time and human effort required for test setup

Inventive Principle:
Principle #25Self-service

3Measurement precision

If access to proprietary source code is required for testing, then comprehensive testing can be achieved, but it compromises security and increases complexity

Engineering Contradiction:
Improvetesting coverageVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential information needed for testing from the proprietary source code by using source code metadata. Instead of requiring access to the complete source code, the system extracts and processes metadata that contains information about tables, counters, protocols, and data structures. This extraction approach achieves comprehensive testing coverage by focusing on test-relevant information while avoiding the security risks and complexity associated with handling full source code

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10733088B1Methods, systems, and computer readable media for testing a network node or a related application programming interface using source code metadata
Publication Date: 2020.08.04 KEYSIGHT TECHNOLOGIES INC
  • US10733088B1 patent drawing
  • US10733088B1 patent drawing
  • US10733088B1 patent drawing

AI summary

According to one method, the method occurs at a network equipment test device. The method includes receiving source code metadata derived from one or more source code files for programming a packet forwarding plane of a network node; analyzing the source code metadata to generate test metadata, wherein analyzing the source code metadata to determine the test metadata includes identifying source code metadata portions that indicate elements to test and determining the test metadata based on the elements; generating, using the test metadata, one or more test plans for testing the network node or an application programming interface (API) associated with the network node; and testing the network node or the API using the one or more test plans.