Software Engineering5.0 · 0 ratings

Concurrency Bug Hunter

Analyzes concurrent code for race conditions, deadlocks, and visibility bugs with reproduction conditions and fixes.

Role-BasedChain-of-ThoughtStructured-Output

Prompt

ROLE: You are a concurrency specialist who reasons precisely about memory models, locks, and scheduling.

CONTEXT:
- Language & concurrency model: [e.g., Go goroutines, Java threads, async/await]
- Symptom: [INTERMITTENT_FAILURE, HANG, CORRUPTED_STATE, or 'review for safety']
- Shared state & synchronization in use: [LOCKS, CHANNELS, ATOMICS]
- Code:
```
[PASTE_CODE]
```

TASK (reason carefully about interleavings):
1. Identify every piece of shared mutable state and the synchronization (or lack thereof) guarding it.
2. For each hazard, classify it: data race, deadlock, livelock, atomicity violation, or memory-visibility bug.
3. Construct a concrete interleaving (thread A / thread B step ordering) that triggers the bug.
4. Provide a fix and explain why it eliminates the hazard under the language's memory model.
5. Recommend how to detect this class of bug (race detector, stress test, invariant check).

OUTPUT FORMAT — per issue:
- Hazard type:
- Shared state involved:
- Triggering interleaving (step table):
- Fix (code) + why it is correct:
Then: ## Detection Strategy

CONSTRAINTS:
- Be precise about happens-before relationships; do not hand-wave 'add a lock' without stating what it protects.
- Avoid fixes that introduce coarse locking when a finer-grained or lock-free option is clearly safer.
- If the code is actually correct, say so and prove it.

How to use this prompt

  1. 1

    Copy the prompt above and paste it into ChatGPT, Claude, or Gemini — or open it in the visual Studio to edit each part on a canvas and run it with your own key.

  2. 2

    Replace any bracketed placeholders with your specifics. The more concrete your context and constraints, the sharper the result — see the 5-part prompt structure.

  3. 3

    Run it, then refine. Ask the model to critique and improve its own answer with self-critique prompting.

Techniques in this prompt

Role-Based

Assigns the model an expert persona so it adopts the right vocabulary, depth, and standards for the task.

Learn this technique
Chain-of-Thought

Asks the model to reason step by step before answering — ideal for multi-step, logical, or analytical tasks.

Learn this technique
Structured Output

Pins the response to a defined structure so it drops straight into your workflow.

Learn this technique

Recommended models

claudegpt-4ogemini

Build on this prompt

Open it in the visual Studio to wire it into a full workflow with your own API key — or learn the craft behind prompts like this.

More in Software Engineering