Аудит модели памяти Java (JMM)
testing
audit-jmm — это скилл для Claude Code, который проводит аудит модели памяти Java (JMM) для всех полей кэша, доступ к которым осуществляется через VarHandle, Unsafe или объявленных volatile. Для каждого поля скилл фиксирует его тип и режим доступа, перечисляет все операции чтения и записи с указанием метода, строки и удерживаемых блокировок, а затем проверяет наличие happens-before гарантий для каждой пары (запись, чтение). Особое внимание уделяется специфическим областям: кодирование writeTime (флаг обновления + временна́я метка), достаточность opaque-доступа для accessTime, видимость полей объекта при чтении key/value, а также корреляция policyWeight и weight. Для каждой найденной проблемы скилл формулирует конкретный сценарий выполнения двух потоков и верифицирует его законность по JMM — с акцентом на платформу aarch64, где модель памяти слабее TSO и проявляются ошибки, невидимые на x86.
- #jmm
- #memory-model
- #varhandle
- #volatile
- #concurrency
- #arm-aarch64