Software Visualization via Coupling and Cohesion Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software visualization technologies fail to effectively highlight regions of coupling and cohesion in large-scale software programs, making it difficult to analyze and maintain these complex systems.
Innovation Solution
A system and method that create a visualization structure for software programs using Data Clumps, Divergence Change, and Shotgun Surgery information, highlighting regions of coupling and cohesion by calculating correlations between class codes, method codes, and change logs to display these issues effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional software visualization technologies are used, then the software program can be displayed, but regions of coupling and cohesion cannot be effectively highlighted
Solution Approach 1:
The patent segments the software program into class codes and method codes, and further segments the visualization into multiple layers (first layer displaying class codes, second layer displaying method codes). This segmentation allows the system to focus on specific regions where coupling and cohesion occur without overwhelming the user with the entire program structure, thereby improving detection precision while managing system complexity.
Solution Approach 2:
The patent introduces an intermediary processing device that calculates correlations between class codes and method codes, and determines coupling and cohesion regions based on these correlations. This intermediary layer processes the raw software code and change logs to generate the visualization data, effectively bridging the gap between raw code and meaningful visualization, thus improving detection precision without directly complicating the visualization system.
2Quantity of substance
If large-scale software programs are analyzed, then more comprehensive coverage is achieved, but analysis difficulty increases
Solution Approach 1:
The patent adds a new dimension to software analysis by incorporating change logs and calculating correlations over time. Instead of only analyzing the static structure of large-scale software programs, the system analyzes dynamic changes across multiple versions, enabling comprehensive coverage of large programs while reducing analysis difficulty through temporal patterns and correlation metrics.
Solution Approach 2:
The patent replaces manual analysis mechanisms with automated correlation calculation and determination mechanisms. The processing device automatically calculates correlations between class codes and method codes based on change logs, and automatically determines coupling and cohesion regions, substituting the mechanical process of manual analysis with an automated system that can handle large-scale programs efficiently.
3Adaptability or versatility
If multiple persons process large-scale software programs, then more expertise is available, but maintaining code integrity and consistency becomes difficult
Solution Approach 1:
The patent implements feedback by analyzing change logs from multiple processors and calculating correlations to identify coupling and cohesion regions. The visualization system provides feedback to team members about where their changes affect other parts of the system, enabling them to maintain code integrity and consistency even when multiple persons are working on the large-scale software program simultaneously.
Data Source
AI summary
A system and a method for visualizing a software program are provided. The system is configured to store the software program and its change logs. The system is further configured to generate a visualization structure of the software program according to at least one of Data Clumps information, Divergence Change information and Shotgun Surgery information, and display the software program according to the visualization structure. The method is applied to the system to implement the operations.


