Source Code Splitting via Influence Degree Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
When source code is split, dependency relationships among split software components are lost, leading to a decrease in analysis accuracy.
Innovation Solution
A source code splitting device that identifies analysis influence degrees between functions based on the information amount passed between them and splits the source code into split codes accordingly, using an influence identifying unit and a splitting unit to minimize the impact on analysis accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the source code is split into separate software components, then the analysis time is reduced and the source code becomes analyzable, but the dependency relationships among components are lost and analysis accuracy decreases
Solution Approach 1:
The source code is divided into multiple software components through splitting, transforming an unmanageably large codebase into smaller, analyzable units. This segmentation enables the analysis system to process each component separately, reducing overall analysis time while maintaining tractability.
Solution Approach 2:
Dependency information is introduced as an intermediary element that mediates between split software components. This dependency information captures the relationships that would otherwise be lost during splitting, allowing the analysis system to reconstruct contextual connections and maintain analysis accuracy across component boundaries.
2Measurement precision
If the entire source code is analyzed at once, then complete dependency relationships are preserved, but the analysis may stretch over a long time or fail due to excessive scale
Solution Approach 1:
The large-scale source code analysis problem is segmented into multiple smaller analysis tasks, each handling a specific software component. This division makes the analysis feasible within reasonable time constraints while the dependency information ensures that the collective results maintain overall accuracy.
Solution Approach 2:
Dependency information is extracted and prepared in advance before the actual analysis of individual components. This preliminary action of identifying and storing dependency relationships enables the subsequent component-level analyses to be performed efficiently without losing contextual connections.
Data Source
AI summary
An extent of decrease in analysis accuracy caused by splitting a source code can be reduced. An influence identifying unit identifies, for each of two functions included in a source code as a target, influence degrees exerted over analysis of the source code when the two target functions are each split into separate split codes, as analysis influence degrees between the two target functions, from an information amount passed between the two target functions. A splitting unit splits the source code into a plurality of split codes such that a sum of the analysis influence degrees between the functions each being split into the separate split codes decreases.


