Unified Code Analysis System for Multi-Language Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional code analysis tools are limited to specific programming languages and require manual execution, leading to increased workload and inefficiency in analyzing large-scale software systems that use multiple programming languages, necessitating multiple tools and manual processes.

Innovation Solution

A code analysis method and system that integrates multiple code analysis tools and rules by obtaining a code change list, determining mapping relationships between the list and programming languages, and generating an execution solution to automatically call the appropriate tools and rules for comprehensive analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple code analysis tools are used for different programming languages, then code analysis coverage is improved, but system complexity and execution time increase

Engineering Contradiction:
Improvecode analysis coverageVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines multiple code analysis tools into a single integrated platform that automatically detects programming language types and selects appropriate analysis tools. The system merges the functionality of multiple specialized tools while providing a unified interface, thereby maintaining comprehensive code analysis coverage without requiring users to manage multiple separate tools manually.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal code analysis system that can handle multiple programming languages and analysis types through a single tool. The system automatically identifies the programming language type of the input code and selects the corresponding analysis tool from its integrated toolkit, making one system perform the functions of multiple specialized tools.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If multiple code analysis tools are used for different programming languages, then code analysis coverage is improved, but execution time increases

Engineering Contradiction:
Improvecode analysis coverageVSAvoidexecution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-establishing a mapping relationship between programming language types and corresponding analysis tools. When code is submitted for analysis, the system quickly identifies the programming language type and retrieves the appropriate tool from the pre-configured mappings, avoiding the need to search or select tools during the analysis execution phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary component that acts as a dispatcher between the code input and multiple analysis tools. This intermediary automatically detects the programming language type and routes the code to the appropriate analysis tool based on pre-established mappings, streamlining the selection process and reducing execution time.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If code analysis is executed manually by developers or testers, then analysis accuracy is maintained, but workload and time consumption increase

Engineering Contradiction:
Improveanalysis accuracyVSAvoidwork efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements self-service by enabling the code analysis system to automatically detect programming language types and select appropriate analysis tools without human intervention. The system autonomously manages the entire analysis workflow, from identifying code type to selecting and executing the right analysis tool, thereby maintaining accuracy while eliminating manual workload.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the operational parameters of the analysis system by automating the tool selection process based on programming language type detection. Instead of requiring manual configuration, the system dynamically adjusts its behavior by automatically selecting the appropriate analysis tool based on the detected code type, improving efficiency while maintaining the precision of specialized analysis.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9378114B2Code analysis method, code analysis system and computer storage medium
Publication Date: 2016.06.28 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US9378114B2 patent drawing
  • US9378114B2 patent drawing
  • US9378114B2 patent drawing

AI summary

Provided is a code analysis method, a code analysis system and a computer storage medium. The method includes: obtaining a code change list; analyzing the code change list, obtaining a change list corresponding to each type of programming languages from the code change list, determining a mapping relationship between the change list and the type of programming languages; obtaining code analysis tool information and analysis rule information according to the mapping relationship, and generating an execution solution; and calling a code analysis tool and an analysis rule according to the execution solution to perform the code analysis and obtain a code analysis result. Examples of the present disclosure may integrate multiple code analysis tools and analysis rules, meet requirements of the code analysis on different types of programming languages, reduce workload of a developer and a tester, and increase efficiency of the code analysis.