mejbaurbahar/software-tester-skills/concurrency-race-condition-testing

Claude Code and agent skill by mejbaurbahar/software-tester-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when testing thread-safety, race conditions, deadlocks, double-submit, idempotency, optimistic/pessimistic locking, async ordering bugs, and flaky concurrency failures — with TSan, go -race, stress loops, barrier-based harnesses and parallel API calls.

Install

npx vskill@latest install mejbaurbahar/software-tester-skills/concurrency-race-condition-testing

SKILL.md

Concurrency & Race-Condition Testing

Races don't fail on demand. You must force interleavings and detect violations.

Bug catalog (what to hunt)

Lost update (read-modify-write) · double spend / oversell (check-then-act) · duplicate submit / retry storms · deadlock (lock ordering) · livelock/starvation · stale cache after write · non-atomic multi-step DB ops · async callbacks out of order · TOCTOU file/permission checks · unsafe shared state in singletons · connection/thread-pool exhaustion.

Detection tools

StackTool
Gogo test -race -count=100 ./...
C/C++/RustThreadSanitizer (-fsanitize=thread), loom (Rust)
Javajcstress, -XX:+..., Thread dumps, jstack deadlock detection
Pythonpytest-xdist, threading.Barrier, asyncio.gather stress
JS/TSPromise.all bursts, jest --runInBand vs parallel diff
DBTwo sessions + pg_sleep/SLEEP() to widen windows; isolation-level tests
Systemstress-ng, k6/Locust with identical concurrent requests

Force the interleaving

python
# Fire N identical requests at the same instant (double-spend probe)
import threading, requests
N = 20; barrier = threading.Barrier(N); results = []
def hit():
barrier.wait()
results.append(requests.post(URL, json={"coupon":"ONCE"}, headers=H).status_code)
ts = [threading.Thread(target=hit) for _ in range(N)]
[t.start() for t in ts]; [t.join() for t in ts]
assert results.count(200) == 1, results # coupon must apply exactly once
bash
# bash/curl burst against an idempotent endpoint
seq 1 20 | xargs -P20 -I{} curl -s -o /dev/null -w "%{http_code}\n" -X POST -H "Idempotency-Key: k1" $URL | sort | uniq -c

What to assert

  • Exactly-once: inventory never < 0; balance conserved; one row per idempotency key; unique constraints hold.
  • Isolation: no dirty/non-repeatable/phantom reads at the level you claim (READ COMMITTED vs SERIALIZABLE).
  • Liveness: operations finish under contention (timeouts, no deadlock); lock timeouts surface clean errors.
  • Ordering: events processed in key order; consumers tolerate redelivery.

Fix patterns to recommend

Atomic SQL (UPDATE … SET qty = qty-1 WHERE qty>0) · optimistic locking (version column/ETag If-Match) · unique constraints + idempotency keys · advisory locks/SELECT … FOR UPDATE · consistent lock ordering · queue partitioning by key · immutable data.

Reporting

Include seed/iteration count, concurrency level, exact interleaving/log lines, and expected vs observed invariant. Rate by blast radius (money/data loss = Sev1).

Related

api-testing, database-testing, flaky-test-management, chaos-resilience-testing, event-driven-messaging-testing

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
5

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/mejbaurbahar/software-tester-skills/concurrency-race-condition-testing/badge)](https://verified-skill.com/skills/mejbaurbahar/software-tester-skills/concurrency-race-condition-testing)

Something wrong with this skill or its page? Tell us.