Checkpoint Groups for Dynamic Assertion Activation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for activating assertions and breakpoints in computer programs often hinder performance and are undesirable in live applications, as they can disrupt execution and are not easily managed in terms of location or activation scope.

Innovation Solution

The implementation of checkpoint groups and activation variants allows for dynamic activation and deactivation of assertions and breakpoints during runtime, enabling programmer-controlled logging and execution modes, with options to terminate, halt, or log failures, and managing these elements independently of their location in the code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If assertions and breakpoints are executed as part of program code, then debugging and consistency checks are improved, but performance deteriorates

Engineering Contradiction:
Improvedebugging capabilityVSAvoidprogram execution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic activation and deactivation of assertions and breakpoints through checkpoint groups. The system allows these debugging features to be turned on or off at runtime based on execution context, enabling them to be active only when needed for debugging rather than continuously, thus resolving the performance contradiction.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs periodic activation of assertions and breakpoints through checkpoint groups that can be selectively enabled or disabled. Rather than continuous execution, the debugging features are activated in periodic intervals or specific phases of program execution, reducing overall performance impact while maintaining debugging effectiveness.

Inventive Principle:
Principle #19Periodic action

2Reliability

If assertions and breakpoints are activated for all code locations, then debugging coverage is improved, but management complexity increases

Engineering Contradiction:
Improvedebugging coverageVSAvoidcheckpoint management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple scattered checkpoints into grouped units that can be managed collectively. By organizing assertions and breakpoints into checkpoint groups, the system reduces the number of individual management operations needed while maintaining comprehensive debugging coverage across the codebase.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates checkpoint groups that serve multiple functions simultaneously - they can be activated globally, restricted to specific users, limited to particular servers, or applied selectively. This multi-functionality allows a single checkpoint group structure to handle various debugging scenarios without increasing management complexity.

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

3Productivity

If assertions and breakpoints are deactivated in live applications, then performance is improved, but debugging capability is lost

Engineering Contradiction:
Improvelive application performanceVSAvoiddebugging availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic switching between active and inactive states for checkpoint groups in live applications. The system allows runtime control where checkpoint groups can be deactivated for performance optimization while remaining available for reactivation when debugging is needed, resolving the contradiction between performance and debugging availability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7603659B2Activating assertions and breakpoints
Publication Date: 2009.10.13 SAP SE
  • US7603659B2 patent drawing
  • US7603659B2 patent drawing
  • US7603659B2 patent drawing

AI summary

Methods and apparatus, including computer program products, for activating assertions and breakpoints. The techniques include establishing any number of checkpoints in a first computer program; and including each checkpoint in a checkpoint group, wherein each checkpoint group can include any number of the checkpoints regardless of where the checkpoints are in the first computer program. The checkpoints can include assertion statements and breakpoint statements. Activation variants enable checkpoint groups or compilation units or both to be managed jointly.