Automated Source Code Analyzer for Multi-Language Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for analyzing source code are inefficient and labor-intensive, particularly when dealing with large code repositories across multiple programming languages, as they require manual analysis and lack automation for metrics such as size, complexity, and code quality assessment.

Innovation Solution

An automated source code analyzer that parses source code across multiple programming languages, generates metadata, and provides reporting features, integrating with web-based platforms to deliver insights on code quality, performance, and maintenance efforts, reducing the time required for analysis and enabling rule-based assessments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual source code analysis is used, then analysis precision can be maintained, but time consumption and labor intensity increase significantly

Engineering Contradiction:
Improvecode quality assessment accuracyVSAvoidtime required for analysis
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent replaces manual mechanical analysis with an automated computer-based system that uses parsers and metric calculators to process source code. The system automatically tokenizes code, traverses abstract syntax trees, and computes metrics without human intervention, thereby reducing time consumption while maintaining measurement precision through algorithmic accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The analysis tool performs self-service by automatically analyzing source code against predefined rules and generating comprehensive reports without requiring manual operation. The system autonomously traverses code structures, evaluates metrics, and produces assessments, eliminating the need for manual analysis while maintaining thoroughness and consistency.

Inventive Principle:
Principle #25Self-service

2Productivity

If automated analysis tools are used, then time consumption is reduced, but device complexity increases

Engineering Contradiction:
Improveanalysis speedVSAvoidtool structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the analysis tool into distinct functional modules: a parser module for syntax analysis, metric calculator modules for computing specific metrics (complexity, cyclomatic complexity, etc.), and report generator modules. This segmentation allows each component to handle specific tasks independently, improving productivity while keeping the overall system manageable through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The analysis tool is designed as a universal system that can analyze multiple programming languages and compute various code metrics through a single integrated platform. The parser and metric calculators are configured to handle different languages and metrics, providing multi-functionality that improves productivity across diverse codebases without requiring separate specialized tools for each function.

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

3Loss of information

If comprehensive metrics are collected, then analysis thoroughness improves, but processing complexity increases

Engineering Contradiction:
Improvecode metadata completenessVSAvoiddata processing complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-defining the complete set of metrics and rules that will be collected during analysis. The system is configured with predetermined metric templates and analysis rules, so that when source code is processed, the comprehensive metrics are automatically gathered according to the pre-established framework, reducing processing complexity while ensuring thoroughness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system manages parameter changes by dynamically adjusting which metrics are collected and how code is traversed based on the specific analysis requirements and code characteristics. The metric calculators can modify their processing parameters adaptively, allowing comprehensive data collection when needed while simplifying processing by focusing only on relevant metrics for each specific codebase or analysis scenario.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10095602B2Automated code analyzer
Publication Date: 2018.10.09 ATOS FRANCE
  • US10095602B2 patent drawing
  • US10095602B2 patent drawing
  • US10095602B2 patent drawing

AI summary

A system for analyzing source code may include a computer including a memory and a processor. A discoverer may be stored on the memory and may be configured to automatically identify applications of an infrastructure and extract at least one input source code file corresponding to the identified applications. A file reader may be stored on the memory and may be configured to read the input source code file containing source code written in at least one computer programming language. A metrics accumulator may be stored on the memory and may be configured to analyze the source code components according to one or more rules to generate application metadata. A reporting engine may be stored on the memory and configured to generate a report based on the generated application metadata.