Test Information Extraction for Modified Source Code Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for testing applications are inefficient due to long analysis and test execution times, large number of tests requiring significant effort, and the need for extensive preparation of execution environments, which hinder prompt software releases.

Innovation Solution

A test information extraction device that statically analyzes source codes to automatically extract information for testing only modified sections of applications, using a source code analysis unit to identify and specify controllers and methods, and a test section specification unit to generate pinpoint test information for modified sections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive testing of the entire application is performed, then test coverage is improved, but analysis time and test execution time increase significantly

Engineering Contradiction:
Improvetest coverageVSAvoidanalysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the application into modified sections and non-modified sections. The test information extraction apparatus focuses analysis only on modified sections by identifying changed source code files and their dependencies, rather than analyzing the entire application. This segmentation maintains adequate test coverage for affected areas while significantly reducing analysis time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and isolates test information specifically related to modified sections from the entire application codebase. By using source code comparison to identify changes and then extracting only the test information relevant to those changes, the system achieves efficient targeted testing without the overhead of comprehensive full-application analysis.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If comprehensive testing of the entire application is performed, then test coverage is improved, but the number of tests generated increases significantly

Engineering Contradiction:
Improvetest coverageVSAvoidnumber of tests
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the test suite by focusing only on tests related to modified sections. By identifying which source code files were modified and analyzing only those sections along with their dependencies, the system generates a reduced subset of necessary tests rather than regenerating tests for the entire application, thus maintaining coverage where needed while reducing the total number of tests.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the test information relevant to modified sections from the full application test suite. This selective extraction process identifies and isolates the minimal necessary tests that cover the changed functionality, eliminating redundant tests for unchanged portions of the application.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If dynamic analysis is used to generate tests, then test accuracy is improved, but execution environment preparation becomes more complex

Engineering Contradiction:
Improvetest accuracyVSAvoidexecution environment preparation
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Instead of using dynamic analysis that requires running the application in a prepared execution environment, the patent inverts the approach by using static source code analysis. It compares source code versions to identify modifications and extracts test information directly from the code structure without execution, thereby maintaining test accuracy through code-level analysis while eliminating the need for complex execution environment setup.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS11886328B2Test information extraction apparatus, test information extraction method and program
Publication Date: 2024.01.30 NIPPON TELEGRAPH & TELEPHONE CORP
  • US11886328B2 patent drawing
  • US11886328B2 patent drawing
  • US11886328B2 patent drawing

AI summary

A test information extraction device improves efficiency in testing applications by including: an obtainment unit that obtains, from a first source code group of an application that implements methods corresponding to requests of a plurality of types received via a network, first information used for generating the requests; and an extraction unit that specifies, from among the methods implemented in response to the requests, a method being a caller of a method included in a second source code group being a part of the first source code group and that further extracts, from the first information, second information used for generating one of the requests corresponding to the specified method.