Software Architecture Quality Tracking via Characteristics Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software quality management tools are inadequate in verifying the quality of software application architecture and conducting independent analysis of system design, as they primarily focus on source code analysis and do not provide comprehensive architectural quality management or independent querying of system components.
Innovation Solution
A method and apparatus that utilize a characteristics model, characteristics extractors, and a query engine to analyze software systems by extracting and storing characteristics, allowing for queries to determine architectural quality, pattern implementation, and tracking changes within the system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If source code analysis tools are used to identify coding errors and verify software patterns, then coding quality is improved, but architectural quality verification capability is insufficient
Solution Approach 1:
The system segments quality verification into two independent phases: compile-time verification of software patterns (coding quality) and runtime verification of architectural qualities (architectural quality). This segmentation allows each phase to focus on its specific objectives without compromising the other, thereby improving both coding quality verification and architectural quality verification capabilities.
Solution Approach 2:
The system introduces a runtime characteristics extractor as an intermediary component that bridges the gap between coding verification and architectural verification. This extractor operates at runtime to gather architectural characteristics and make them available for quality verification, enabling comprehensive quality management without interfering with the compile-time coding verification process.
2Loss of information
If components are extracted and combined in a relational graph to view relationships, then system structure visibility is improved, but independent analysis capability is lost
Solution Approach 1:
The system enables self-service independent analysis by providing a query engine that allows users to directly query extracted characteristics without requiring manual graph traversal or complex analysis procedures. Users can formulate their own queries to extract specific information from the relational graph, making the system adaptable to various analysis needs while maintaining full visibility of system structure.
3Loss of information
If facts are extracted and displayed to enable viewing of relationships, then system overview capability is improved, but querying functionality is insufficient
Solution Approach 1:
The system implements a universal query engine that can handle multiple types of queries (fact queries, pattern queries, architectural quality queries) through a single interface. This multi-functional approach maintains comprehensive system overview capability while providing versatile querying functionality that adapts to different analysis requirements without requiring separate tools for each query type.
Data Source
AI summary
A method for analyzing a target system that includes obtaining a plurality of characteristics from the target system using a characteristics extractor, wherein the plurality of characteristics is associated with a characteristics model, storing each of the plurality of characteristics in a characteristics store using a tracking mechanism, and analyzing the target system by issuing a query to the characteristics store to obtain an analysis result, wherein the query uses tracking information associated with the tracking mechanism.


