Software Architecture Quality Tracking via Characteristics Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecoding qualityVSAvoidarchitectural quality verification capability
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesystem structure visibilityVSAvoidindependent analysis capability
Core Design Contradiction:
Loss of informationVSEase of operation

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvesystem overview capabilityVSAvoidquerying functionality
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7703074B2Method and apparatus for tracking changes in a system
Publication Date: 2010.04.20 ORACLE AMERICAN INC
  • US7703074B2 patent drawing
  • US7703074B2 patent drawing
  • US7703074B2 patent drawing

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.