Software Element Evaluation via Variance-Based Reference System
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large software projects, understanding the role and interaction of multiple software elements is difficult due to the complexity of source code and changes made by different teams over time, leading to unintended consequences and communication gaps between programmers and end users.
Innovation Solution
A process involving data extraction from software elements, creation of a 'software universe' through variance analysis, and graphical representation in three dimensions to visualize relationships and changes, using principal component analysis to identify variance and retain underlying coding properties, with dynamic analysis for monitoring code quality and alerting thresholds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If software elements are analyzed individually to understand their role and interaction, then understanding of software structure is improved, but the complexity of analysis increases due to large amounts of code and multiple software elements
Solution Approach 1:
The patent segments the complex software system into individual software elements (classes, methods, properties, constructors) and analyzes each element's metrics separately. By breaking down the large software codebase into manageable components and evaluating their inter-relationships through a reference system, the analysis becomes tractable despite the overall system complexity.
Solution Approach 2:
The patent introduces an intermediary reference system that mediates between individual software element metrics and their inter-relationships. This reference system acts as a mediator that transforms complex multi-dimensional metric data into a visualizable format, enabling understanding of software element relationships without directly confronting the full complexity of the raw data.
2Measurement precision
If detailed metrics are extracted from all software elements to evaluate their properties, then measurement precision is improved, but the difficulty of detecting and measuring increases due to the large number of metrics and software elements
Solution Approach 1:
The patent extracts specific metrics from software elements (such as lines of code, complexity measures, coupling metrics) and separates them from the overall software system. By taking out individual metrics and evaluating them through a reference system, the patent achieves precise measurement of software element properties while managing the complexity of metric extraction through systematic processing.
Solution Approach 2:
The patent transforms software element metrics into a standardized reference system with defined dimensions. By changing the parameters from raw metric values to normalized positions within a reference framework, the patent simplifies the detection and measurement process while maintaining measurement precision through systematic parameter transformation.
3Reliability
If software changes are tracked to understand impact throughout the software, then reliability is improved, but loss of time increases due to the need to trace changes across multiple software elements
Solution Approach 1:
The patent implements a feedback mechanism where software element metrics are continuously evaluated and compared against a reference system. When changes occur in software elements, the system automatically recalculates metrics and updates the reference system positions, providing feedback on the impact of changes. This automated feedback loop improves reliability by systematically tracking change impacts while reducing time loss through automated rather than manual tracing.
4Manufacturing precision
If comprehensive software analysis is performed to evaluate all code properties, then software quality is improved, but productivity decreases due to the time required for analysis and evaluation
Solution Approach 1:
The patent establishes a reference system in advance that defines the framework for evaluating software element metrics. By performing preliminary actions to set up the reference system with its dimensions and criteria before actual software analysis, the patent enables rapid subsequent evaluations. This preliminary setup improves software quality assessment while maintaining productivity by avoiding repeated framework establishment for each analysis.
Data Source
AI summary
There is provided a process for evaluating software comprising extracting data (12) relating to metrics from a plurality of software elements (10), each metric representing a dimension of a first reference system, using the extracted data to create a second reference system (16) based on variance in the extracted data, calculating the position of each software element in the second reference system and displaying the position of each software element in the second reference system in a maximum of three dimensions thereby to show in a graphical form the inter-relationship of the software elements to each other. The position of each software element in the second reference system (16) retains the extracted data for examination.


