Automated Refactoring Scale Calculation via Dependency Strength Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for estimating the scale of software refactoring, such as those described in Patent Literatures 1 and 2, primarily focus on module-level calculations and are difficult for non-skilled individuals to perform accurately, especially for large volumes of source code, making it challenging to estimate refactoring needs effectively.

Innovation Solution

A scale calculation apparatus that includes a source code analysis unit to identify dependency strengths, an influence analysis unit to determine affected transfer functions, and a scale calculation unit to estimate refactoring scale based on these dependencies, enabling more accurate and appropriate estimation of refactoring needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual estimation methods (function point method or WBS) are used to estimate refactoring scale, then estimation can be performed with past experience, but it becomes difficult for non-skilled persons to perform accurate estimation and becomes challenging for large volumes of source code

Engineering Contradiction:
Improveease of estimationVSAvoidestimation accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent replaces manual mechanical estimation processes with an automated computer-based system. The apparatus automatically analyzes source code dependencies, identifies transfer functions, and calculates refactoring scales without requiring manual intervention, thereby making the process accessible to non-skilled persons while maintaining accuracy through systematic automated analysis

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

Solution Approach 2:

The system enables self-service estimation by automatically analyzing the source code structure and dependencies to determine refactoring requirements. The apparatus independently identifies transfer functions and calculates modification scales without requiring expert knowledge or manual input, allowing any user to obtain accurate estimates through automated processing

Inventive Principle:
Principle #25Self-service

2Productivity

If mechanical estimation methods based on module dependency scales are used, then estimation can be performed automatically, but the estimation based on scale of each module can only be performed without capturing the full refactoring impact

Engineering Contradiction:
Improveestimation efficiencyVSAvoidestimation accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent segments the software system into functions and subsystems, then analyzes dependencies between these segments. By identifying transfer functions that move between subsystems and calculating dependency strengths for each segment, the system achieves both automated processing efficiency and precise estimation of refactoring impact across the entire system

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds the dimension of dependency strength measurement to traditional module-level estimation. Instead of merely counting modules or lines of code, the system incorporates dependency strength values that quantify the impact of transfers on related functions, thereby enhancing estimation precision while maintaining automated processing capabilities

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11379224B2Scale calculation apparatus and computer readable medium
Publication Date: 2022.07.05 MITSUBISHI ELECTRIC CORP
  • US11379224B2 patent drawing
  • US11379224B2 patent drawing
  • US11379224B2 patent drawing

AI summary

A source code analysis unit identifies dependency strengths of one or more functions included in a source code. An influence analysis unit identifies one or more transfer functions that will each move to a different subsystem due to refactoring and identifies a dependency strength to be influenced by the refactoring, based on the dependency strengths that have been identified by the source code analysis unit with respect to the one or more transfer functions. A scale calculation unit calculates the scale of the refactoring, based on the dependency strength to be influenced, which has been identified by the influence analysis unit.