// developer tooling for the JVM

Concurrency bugs,
forced out of hiding.

Deversity builds and maintains async-test-lib, a JUnit 5 extension that stress-tests code under maximum thread contention. A single @AsyncTest annotation runs a test body on N threads for M rounds, forces the threads to collide, and reports what more than a hundred concurrency detectors observed.

JUnit 5 extension · 100+ detectors · Free for non-commercial use

100+concurrency detectors
1annotation to add
N × Mthreads × rounds, forced to collide

What it catches

RACE

Race conditions

Lost updates and check-then-act windows that only open under real contention.

DEADLOCK

Deadlocks

Lock cycles and stuck threads, caught in the test run instead of in production.

SIGNAL

Missed signals

Waits and notifies that never meet, condition waits that sleep forever.

PUBLISH

Unsafe publication

Objects visible to other threads before they are fully constructed.

And more, from a suite of more than a hundred detectors.

How it works

01

Annotate

Add @AsyncTest(threads = N, rounds = M) to a JUnit 5 test body.

02

Collide

The extension runs the body on N threads for M rounds and forces the threads to collide at the worst possible moments.

03

Read the report

The detectors report race conditions, deadlocks, missed signals, unsafe publication, and more.

How licensing works

Non-commercial

Free

async-test-lib is free for non-commercial use under the PolyForm Noncommercial License 1.0.0. No license key needed.

Commercial

Annual license, priced by team size

A license covers every developer on your company email domain. There are no per-seat keys.

See pricing

Also from Deversity

llm-fw

Local prompt injection firewall

A firewall for LLM traffic that runs on your own machine. It intercepts every request your tools make to OpenAI, Anthropic, Gemini and a dozen other providers, blocks prompt injection and jailbreak attempts in real time, redacts leaked credentials, and forwards clean traffic untouched. No cloud calls and no telemetry.

Free for non-commercial use under the same PolyForm Noncommercial licence.

See llm-fw

VibeTags

AI guardrails for Java, compiled from your code

A compile-time annotation processor that generates the guardrail files AI coding tools read — CLAUDE.md, .cursorrules, copilot-instructions.md and more — from annotations in your Java or Kotlin source. Annotate once; every opted-in tool is regenerated on the next compile. Zero runtime overhead.

Free and open source under the MIT license.

See VibeTags

Contact

Deversity AB (Org.nr 559303-2278), a company registered in Sweden.
Email: peter.isberg@deversity.se