Design Rule Spaces for Software Architecture Root Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods fail to effectively link software architecture with quality issues such as error-proneness, lacking a direct and efficient means to identify error-prone files and structural problems contributing to software defects.

Innovation Solution

Design rule spaces are introduced to capture both architecture and evolution structures, allowing for the visualization of error-prone files and structural problems by forming overlapping design rule spaces through various relationships, including evolutionary dependencies, and using a design rule hierarchy process to identify root causes of errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional reverse engineering techniques are used to recover software architecture from source code, then the accuracy and comprehensibility of the recovered architecture is improved, but there is no direct link to quality issues such as error-proneness

Engineering Contradiction:
Improveaccuracy of recovered architectureVSAvoidlink between architecture and quality issues
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent merges architecture recovery with quality issue detection by integrating defect prediction capabilities into the architectural representation. The system combines structural analysis with evolutionary relationship analysis to create a unified model that simultaneously recovers architecture and identifies error-prone components, eliminating the need for separate analysis processes.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The architectural representation system is designed to serve multiple functions: it recovers software architecture structure, identifies error-prone files, detects structural problems, and provides refactoring guidance. This multi-functional approach allows a single system to address both architectural accuracy and quality assessment needs.

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

2Reliability

If data mining approaches are used to leverage co-change information in revision history to locate error-prone files, then defect prediction capability is improved, but there is no direct link to software architecture

Engineering Contradiction:
Improvedefect prediction capabilityVSAvoidconnection to software architecture
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent introduces architectural representation as an intermediary that bridges defect prediction and software architecture. The system uses evolutionary relationship analysis to identify error-prone files, then maps these findings back to the architectural structure through design rule spaces, creating a meaningful connection between data mining results and architectural context.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the analysis into distinct components: architectural structure recovery, evolutionary relationship extraction, defect prediction, and result integration. Each component handles a specific aspect of the problem, allowing the system to maintain both defect prediction accuracy and architectural relevance without conflating the different analysis types.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If design rule spaces are created to capture both architecture and evolution structures, then the ability to identify error-prone files and structural problems is improved, but the complexity of the system increases

Engineering Contradiction:
Improveidentification of error-prone filesVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent adds an evolutionary dimension to the traditional architectural representation by incorporating temporal relationships from revision history. This multi-dimensional approach allows the system to analyze both structural and evolutionary aspects simultaneously, improving error-prone file identification while organizing complexity through distinct analytical dimensions.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The system nests multiple layers of analysis within the design rule space framework: architectural structure, evolutionary relationships, defect predictions, and refactoring recommendations are all nested within the unified design rule space representation. This hierarchical organization manages complexity by structuring information at appropriate levels of abstraction.

Inventive Principle:
Principle #7Nested doll (Nesting)

4Ease of operation

If root detection is performed to locate core architecturally connected file groups contributing to error-proneness, then insights into refactoring are improved, but the time and computational resources required increase

Engineering Contradiction:
Improveinsights into refactoringVSAvoidtime for root detection
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary architectural representation and evolutionary relationship analysis before conducting root detection. By pre-processing the data and establishing the design rule space framework in advance, the system reduces the computational burden and time required for the actual root detection and refactoring insight generation phases.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10204028B2Rule spaces and architecture root detection
Publication Date: 2019.02.12 DREXEL UNIV
  • US10204028B2 patent drawing
  • US10204028B2 patent drawing
  • US10204028B2 patent drawing

AI summary

Errors in software may be detected via the use of design rule spaces and architecture root detection. Design rule spaces may reveal multiple overlapping modular structures of a software system, and reveal structural relations among error-prone files and structural problems contributing to error-proneness. Root detection may extract a few groups of architecturally connected files, which may be connected through problematic architecture relations that propagate errors among these files, and thus influence system error-proneness. The root detector may locate the core architecturally connected file groups that contribute to the error-proneness of a system. The root detection process may, beginning with a set of error-prone files, search and link other files that are architecturally related. The output of the root detection process may be a set of design rule spaces ordered by the number of error-prone contained therein.