Hybrid Timestamps for Concurrent Software Model Checking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Concurrency with synchronization in verification and testing poses challenges due to nondeterministic execution orders in parallel processes, leading to an exponentially large state-space exploration in model checking, which is inefficiently handled by existing timestamp solutions, especially in high-level synchronizations like Remote Procedure Call (RPC) and barriers.

Innovation Solution

The method generates hybrid timestamps for concurrent applications, using either vector list timestamps or differential timestamps based on the need for inter-process synchronization, significantly reducing memory footprint by optimizing timestamp representation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If vector list timestamps are used for all operations, then causality relations can be accurately determined, but memory consumption increases significantly

Engineering Contradiction:
Improvecausality determination accuracyVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the timestamp representation into two distinct types: vector list timestamps for synchronization operations and differential timestamps for non-synchronization operations. This segmentation allows the system to use the more memory-intensive vector list format only when necessary for maintaining causality accuracy, while using the more space-efficient differential format for routine operations that do not require inter-process synchronization tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by adapting the timestamp format to the specific requirements of each operation. Synchronization operations (such as barriers and RPCs) locally require full vector list timestamps to maintain causality, while non-synchronization operations can use differential timestamps. This localized adaptation optimizes memory usage by applying the heavier format only where locally necessary.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If timestamp compression is applied to reduce memory usage, then memory footprint decreases, but the compressed state cannot be easily reversed to determine causality relations

Engineering Contradiction:
Improvememory footprintVSAvoidreversibility for causality determination
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism in the form of a reference counter that tracks whether a vector list timestamp has been modified since its creation. This intermediary allows the system to maintain differential timestamps (the compressed form) while providing a reliable method to determine when full vector list timestamps are needed for causality determination, thus enabling easy reversal when necessary without permanently losing information.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If model checkers use internal state space compression, then state space exploration becomes more efficient, but timestamp characteristics are not considered leading to loss of causality information

Engineering Contradiction:
Improvestate space exploration efficiencyVSAvoidcausality information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements a dynamic timestamp system that automatically adapts its representation based on the operation type and synchronization requirements. The system dynamically switches between differential and vector list timestamp formats, and dynamically updates reference counters to track when causality information must be preserved. This dynamic adaptation allows efficient state space exploration while preventing loss of causality information through intelligent format selection.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10620660B2Efficient timestamp solution for analyzing concurrent software systems
Publication Date: 2020.04.14 ORACLE INT CORP
  • US10620660B2 patent drawing
  • US10620660B2 patent drawing
  • US10620660B2 patent drawing

AI summary

A method may include obtaining a concurrent application including processes, each including operations, and obtaining an initial hybrid timestamp for an initial operation of a process. The initial hybrid timestamp may include a vector list timestamp including vector clocks, each including a clock value for each of the processes. The method may further include determining a synchronization category for a next operation of the process, and in response to the synchronization category indicating that the next operation does not require inter-process synchronization, generating a next hybrid timestamp for the next operation. The next hybrid timestamp may include a differential timestamp relative to the initial hybrid timestamp.