Software Testing Scheme Using Dependency Structure Matrix

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing methods face inefficiencies in determining the optimal sequence and parallel execution of modules within a software product, leading to costly and inaccurate testing results, particularly in identifying dependencies and end-to-end scenarios.

Innovation Solution

A system and method utilizing a dependency structure matrix (DSM) analysis to segregate software modules into hierarchical levels, allowing for efficient execution by identifying cyclic blocks, generating compressed and expanded partition matrices, and performing path analysis to determine an optimal software testing scheme.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If simple end-to-end testing is used to test modules sequentially from first module to last module, then testing accuracy is improved, but testing efficiency deteriorates and cost increases

Engineering Contradiction:
Improvetesting accuracyVSAvoidtesting efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the software modules into hierarchical levels based on dependency relationships. By dividing the testing process into level-based segments rather than sequential end-to-end testing, the system enables parallel execution of independent modules while maintaining accurate dependency validation, thus improving efficiency without sacrificing accuracy

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the testing process by organizing modules into multiple levels based on their dependency relationships. This dimensional transformation allows the testing system to operate in a multi-level structure where modules at the same level can be tested in parallel, resolving the contradiction between accuracy and efficiency

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

2Productivity

If software modules are streamlined for faster testing, then testing efficiency is improved, but determining the optimal execution sequence and parallelization becomes more difficult

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtesting scheme complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary analysis of module dependencies and constructs the dependency structure matrix before execution. By pre-determining the hierarchical levels and parallelization opportunities, the system simplifies the actual testing execution while maintaining optimal efficiency, as the complex sequencing decisions have already been made in advance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a dependency structure matrix as an intermediary representation between the software modules and the testing execution engine. This matrix serves as a mediator that captures all dependency relationships in a structured format, enabling the system to automatically determine optimal execution sequences and parallelization strategies without direct complex analysis during execution

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If modules are executed in parallel for optimal efficiency, then testing productivity is improved, but determining which modules can be executed in parallel becomes more complex

Engineering Contradiction:
Improvetesting productivityVSAvoidmodule dependency analysis difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The dependency structure matrix serves as an intermediary that systematically captures all module dependencies. By representing dependencies in this structured matrix form, the system can automatically identify which modules can be executed in parallel by analyzing the matrix structure, transforming a complex detection problem into a systematic analysis process

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces manual or heuristic analysis of module dependencies with an automated matrix-based system. The dependency structure matrix enables algorithmic determination of parallel execution opportunities, substituting complex manual analysis with systematic computational methods that are more efficient and less error-prone

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Reliability

If comprehensive end-to-end scenarios are tested to ensure accuracy, then testing reliability is improved, but testing time and effort increase significantly

Engineering Contradiction:
Improvetesting reliabilityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the comprehensive end-to-end testing into level-based hierarchical testing. By dividing the testing scope into manageable levels based on dependencies, the system tests only the necessary scenarios at each level rather than executing all possible end-to-end paths, maintaining reliability while reducing time and effort

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by testing only the essential end-to-end scenarios that are necessary given the module dependencies, rather than exhaustively testing all possible paths. The hierarchical level-based approach identifies and executes only the critical testing paths, achieving sufficient reliability without excessive time investment

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8601446B2Complexity dependency change impact system and method
Publication Date: 2013.12.03 WIPRO LTD
  • US8601446B2 patent drawing
  • US8601446B2 patent drawing
  • US8601446B2 patent drawing

AI summary

A complexity dependency change impact system and method is disclosed. In one embodiment, a method of determining an efficient software testing scheme based on a dependency structure matrix (DSM) analysis includes generating a compressed DSM based on cyclic blocks associated with modules of a software application, tagging and levelling the modules of the software application based on the compressed DSM, and generating at least one compressed partition matrix based on the tagged and levelled modules. The method further includes generating at least one expanded partition matrix based on the at least one compressed partition matrix, generating value threads using the at least one compressed partition matrix and obtaining a new scheduling table and performing a path analysis using the value threads to determine the efficient software testing scheme.