Debugging Multilayered Software via Scenario Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging a multilayered computer program product is challenging due to the complexity of identifying and isolating defects across multiple layers and development teams, as each layer is developed separately and dependencies between layers complicate the execution of scenarios, making it difficult to pinpoint and fix defects.

Innovation Solution

A system and method that splits execution scenarios into sub-scenarios, allowing each development team to debug their specific module independently by identifying and executing segmented scenarios corresponding to their responsible layers, using metadata to map steps and dependencies, and employing a Code-2-Data approach to ensure prerequisites are met for independent execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a multilayered computer program product is used to facilitate interoperability and platform independence, then adaptability is improved, but device complexity increases making debugging difficult

Engineering Contradiction:
Improveinteroperability and platform independenceVSAvoidcomplexity of identifying and isolating defects
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the execution scenario into multiple sub-scenarios, each corresponding to a specific layer or module in the multilayered computer program product. This segmentation allows developers to isolate and debug defects in individual layers without being overwhelmed by the complexity of the entire system, while maintaining the adaptability benefits of the multilayered architecture.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If each layer is developed separately by different development teams, then manufacturing precision is improved through specialized development, but ease of operation deteriorates as debugging becomes more difficult

Engineering Contradiction:
Improvespecialized module developmentVSAvoidease of debugging
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism that maps execution scenario steps to specific layers and development teams. This intermediary layer provides a unified interface for debugging that simplifies the process for operators while maintaining the specialized development structure, allowing developers to work on their specific modules independently without compromising ease of debugging.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If dependencies between layers are maintained for proper execution, then reliability is improved, but productivity decreases due to the difficulty of pinpointing and fixing defects

Engineering Contradiction:
Improveproper execution through layer dependenciesVSAvoiddefect identification and fix speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by automatically analyzing execution scenarios and identifying which specific layers and modules are involved in each scenario step before debugging begins. This preliminary analysis prepares the debugging environment by pre-identifying potential defect locations, allowing developers to quickly pinpoint and fix defects while maintaining the necessary layer dependencies for reliable execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10248540B2Bifurcating a multilayered computer program product
Publication Date: 2019.04.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10248540B2 patent drawing
  • US10248540B2 patent drawing
  • US10248540B2 patent drawing

AI summary

Technical solutions are described for debugging a computer program product. An example computer-implemented method includes receiving an identifier of a portion of code from a first module of the computer program product, wherein the portion of code contains a defect. The method further includes displaying a list of execution scenarios that invoke the portion of code from the first module. The method further includes, in response to receipt of a selection of a first execution scenario from the list of execution scenarios, executing the computer program product according to the first execution scenario.