name: memory-model-analyzer
description: Analyze programs under various memory models for concurrent correctness
allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
metadata:
specialization: computer-science
domain: science
category: distributed-systems
phase: 6
graph:
domains: [domain:computer-science]
specializations: [specialization:theoretical-computer-science]
skillAreas: [skill-area:compiler-implementation, skill-area:mathematical-reasoning, skill-area:language-design]
workflows: [workflow:research-grant-lifecycle]
roles: [role:computational-scientist, role:research-scientist]
Memory Model Analyzer
Purpose
Provides expert guidance on analyzing concurrent programs under various hardware and language memory models.
Capabilities
- Sequential consistency checking
- Total Store Order (TSO) analysis
- C/C++ memory model compliance
- Memory barrier insertion guidance
- Race condition detection
- Weak memory model reasoning
Usage Guidelines
- Model Selection: Identify relevant memory model
- Analysis: Check program behavior under model
- Barrier Placement: Determine required fences/barriers
- Race Detection: Find data races
- Verification: Verify correct synchronization
Tools/Libraries
- CDSChecker
- GenMC
- CBMC
- herd7