Software Version Traceability for Cross-Repository Performance Defects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software performance analysis methods struggle to identify the cause of performance deterioration when software changes occur at earlier times, especially when multiple software components have separate update histories, making it difficult and time-consuming to specify the responsible software version.
Innovation Solution
A software analysis system that specifies the version of software causing performance degradation by identifying changes in reference information and merging software versions, using a binary search method to efficiently trace back to the problematic location across separate version management tools.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate version management tools are used for multiple software components, then each software can be independently managed and updated, but it becomes difficult and time-consuming to specify the cause of performance deterioration across software boundaries
Solution Approach 1:
The patent introduces an intermediary mechanism that collects and manages reference information (version numbers, commit IDs, build numbers) between separate software components and their version management tools. This intermediary data structure enables cross-software traceability without requiring integration of the version management tools themselves, thus maintaining independent management while enabling efficient cause specification.
Solution Approach 2:
The patent adds a new dimension of analysis by examining reference information changes across software versions rather than only analyzing code differences. This dimensional shift allows tracing performance deterioration causes back to earlier versions even when the problematic change occurred in a different software component, bypassing the limitations of traditional diff-based analysis.
2Measurement precision
If traditional difference-based analysis is used to identify software changes, then recent changes can be identified, but changes occurring considerably earlier than the analysis time point cannot be discovered
Solution Approach 1:
The patent performs preliminary recording of reference information (version numbers, commit IDs, build numbers) at each software update and integration point. This preliminary action creates a historical trail that enables retrospective analysis of any version, allowing the system to trace causes back to any point in the software evolution history, not just recent changes.
Solution Approach 2:
The patent replaces the mechanical diff-based comparison system with an information-theoretic approach using reference information tracing. Instead of comparing code bytes to find differences, the system uses version metadata and reference relationships to logically trace changes, enabling detection of causal changes regardless of time elapsed or code obfuscation.
Data Source
AI summary
An object of the invention is to quickly specify a version of software that causes a defect even when update histories of a plurality of pieces of software are managed separately. In a software analysis system according to the invention, when a performance degradation of second software is detected by a performance test, a version updated by merging first software is specified or a version where reference information of the first software is changed from that before is specified among past versions of the second software, thereby specifying a candidate in the first software which is a cause of the degradation (see FIG. 4B).


