Intermediate-State Code Analysis Using Repository Differences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing code analysis methods struggle to perform analysis on software in an intermediate state before it is uploaded to the cloud environment, leading to delayed feedback and limited computational resources in local environments.
Innovation Solution
An information processing device and method that acquires difference information between local and remote repositories to reproduce and analyze intermediate state code, using a machine learning model and rule-based selection to adaptively choose test codes for efficient analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If code analysis is performed in a local PC environment, then analysis speed and early feedback are improved, but computational resources and functional capabilities are limited
Solution Approach 1:
The code analysis process is segmented into two phases: (1) local phase where difference information is acquired and code is reproduced, and (2) cloud phase where actual code analysis is performed. This segmentation allows the time-critical local operations to be separated from the resource-intensive analysis operations, resolving the contradiction between fast local feedback and adequate computational resources.
Solution Approach 2:
Difference information serves as an intermediary that bridges the local and cloud environments. Instead of directly transferring entire codebases or performing analysis locally, the system uses difference information as a mediator to enable efficient code reproduction in the cloud environment, allowing fast local operations to lead to resource充足的 cloud-based analysis.
2Productivity
If code analysis is performed in a cloud environment with abundant computational resources, then computation speed is improved through parallel processing, but analysis of intermediate state code before upload is delayed
Solution Approach 1:
The system performs preliminary actions locally by acquiring difference information and reproducing code in the cloud environment before actual analysis is needed. This preliminary preparation enables the cloud-based analysis to start immediately when resources are available, eliminating the delay that would occur if the entire codebase needed to be uploaded first.
Solution Approach 2:
Instead of analyzing the entire codebase, the system performs partial action by focusing only on the difference information that represents the intermediate state changes. This selective approach reduces the amount of data that needs to be processed and allows faster feedback while still utilizing cloud computational resources effectively.
3Reliability
If all test codes are executed for comprehensive code analysis, then analysis thoroughness is improved, but analysis time and computational overhead increase
Solution Approach 1:
The system extracts and selects only the relevant test codes that are most likely to detect issues in the changed code, rather than executing all test codes. This extraction of essential test cases maintains analysis thoroughness for the most critical areas while significantly reducing the overall analysis time and computational overhead.
Solution Approach 2:
Different quality levels are applied to different parts of the testing process. The system applies comprehensive testing to the most critical changed areas while using selective testing for less critical areas. This local quality approach ensures that the most important functionality is thoroughly tested while reducing overall test execution time.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Provided is an information processing device that performs processing regarding a code analysis of software that is in an intermediate state. The information processing device includes a difference information acquisition section and a code analysis section. The difference information acquisition section acquires difference information regarding the difference between a code stored in a first repository and a code stored in a second repository in correspondence with the code stored in the first repository. The code analysis section reproduces the code stored in the first repository from the code stored in the second repository, in reference to the difference information, and performs code analysis on the reproduced code. The information processing device reports the result of analysis by the code analysis section to the developer of the reproduced code.