Automated Software Reuse Measurement via Call Graph Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methodologies for measuring software quality and development productivity, such as lines of code and function point analysis, fail to accurately capture the functional quality and effort involved in software development, particularly in high-level programming languages and software reuse scenarios, leading to inaccurate productivity metrics.
Innovation Solution
The use of call graph analysis in a computerized environment to determine a software code base's reuse measures, which are then combined with lines of code and other metrics to calculate an effective productivity measure, providing a more accurate assessment of software quality and development productivity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual counting methods are used to measure code reuse, then measurement precision may be improved through careful analysis, but productivity deteriorates due to the cumbersome and time-consuming nature of manual effort
Solution Approach 1:
The patent replaces manual mechanical counting methods with automated computer-based analysis tools. The system uses software to automatically identify, count, and measure reused code segments, eliminating the need for manual inspection while maintaining measurement accuracy through systematic algorithmic analysis.
Solution Approach 2:
The patent introduces an intermediary automated measurement system that acts as a mediator between the code base and the measurement process. This intermediary system processes code automatically, providing both precision through systematic analysis and productivity through automation, thus resolving the contradiction between accurate measurement and efficient measurement.
2Ease of operation
If traditional LOC measures are used to account for reuse costs, then ease of operation is improved by simplicity, but measurement precision deteriorates by failing to capture the benefit of reuse
Solution Approach 1:
The patent modifies the traditional LOC measurement parameter by introducing adjustment factors that account for reuse. Instead of simply counting lines, the system calculates effective LOC by subtracting reused code portions from total LOC, thereby maintaining the simplicity of the base metric while improving its precision to reflect actual development effort.
3Productivity
If automated techniques are used to measure code reuse, then productivity is improved through automation, but measurement precision may deteriorate without proper analysis methods
Solution Approach 1:
The patent performs preliminary actions by establishing robust automated analysis methods and criteria before actual measurement takes place. The system pre-defines what constitutes reused code, sets up identification algorithms, and configures measurement parameters in advance, ensuring that automation proceeds with precision-guided rules rather than crude counting.
Data Source
AI summary
Systems, methods, and apparatus for measuring software development productivity that incorporate a measure of code reuse. Embodiments of the present invention utilize call graph analysis in a computerized environment to efficiently analyze a software code base in an automated fashion and thereby generate reuse measures; and then incorporates the reuse measures in the productivity analysis.


