Debug Script Injection for Automated Code Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Enterprise customers face time-consuming and disruptive processes when updating software programs, requiring iterative testing and potential 'roll-back' procedures, which can lead to lost time and revenue due to unwanted behavior or errors.

Innovation Solution

A system that generates a debug script using correction instructions, allowing for automated implementation in a debugger without altering the software, using a two-session approach to execute code insertions and deletions at breakpoints, enabling efficient debugging and validation of updates without affecting normal operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code changes are made to software programs to fix problems, then the software functionality is improved, but the time required for testing and validation increases

Engineering Contradiction:
Improvesoftware functionalityVSAvoidtesting and validation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary validation of code changes by generating executable representations and testing them in a sandbox environment before applying to the live system. This advance testing reduces the time needed for post-deployment validation while ensuring software reliability is improved.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates executable representations (copies) of code changes that can be tested independently in a sandbox environment. These copies allow validation without affecting the original software, enabling parallel testing and reducing validation time while maintaining reliability.

Inventive Principle:
Principle #26Copying

2Reliability

If iterative testing and roll-back procedures are implemented to verify software updates, then software reliability is maintained, but normal operations are suspended resulting in lost time and revenue

Engineering Contradiction:
Improvesoftware update verificationVSAvoidnormal operations continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs all necessary validation and testing of code changes before suspending normal operations. By completing verification in advance using executable representations, the system minimizes or eliminates the need to suspend operations, thereby maintaining productivity while ensuring reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces a sandbox environment as an intermediary between code development and production deployment. This intermediate testing ground allows comprehensive validation without affecting normal operations, enabling continuous productivity while maintaining software reliability through thorough pre-deployment verification.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If manual code changes and testing processes are used, then flexibility in implementing solutions is maintained, but the complexity of the debugging process increases

Engineering Contradiction:
Improvesolution implementation flexibilityVSAvoiddebugging process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system automatically generates executable representations, validates code changes, and manages the debugging process without requiring manual intervention for each step. This automation reduces debugging process complexity while maintaining flexibility, as the system handles routine tasks and allows users to focus on high-level decision-making.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces manual mechanical debugging processes with automated computational methods. By substituting manual code analysis and testing with automated executable representation validation, the system reduces debugging complexity while preserving implementation flexibility through programmable control.

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

Data Source

PatentUS9892021B2Injection of code modifications in a two session debug scripting environment
Publication Date: 2018.02.13 SAP SE
  • US9892021B2 patent drawing
  • US9892021B2 patent drawing
  • US9892021B2 patent drawing

AI summary

In one general aspect, a method can include receiving at least one set of correction instructions, validating the at least one set of correction instructions for use by a debugger when debugging an application program, and generating a debug script. The debug script can include text for automatically implementing the validated at least one set of correction instructions in the debugger when debugging an application program. The method can further include generating a plurality of data structures for use by the debug script based on the validated at least one set of correction instructions, and outputting the debug script to the debugger for use by the debugger when debugging the application program.