A test framework for verifying concurrency anomalies

There are V(1) log statements. The histories are quite voluminous. For example, write skew plays out 1,120 different scenarios. The first 10 scenarios:

iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SUM1(A) SC2(A-C) C1 I2(B) SUM2(B) C2
iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SUM1(A) SC2(A-C) I2(B) C1 SUM2(B) C2
iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SUM1(A) SC2(A-C) I2(B) SUM2(B) C1 C2
iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SUM1(A) SC2(A-C) I2(B) SUM2(B) C2 C1
iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SC2(A-C) SUM1(A) C1 I2(B) SUM2(B) C2
iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SC2(A-C) SUM1(A) I2(B) C1 SUM2(B) C2
iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SC2(A-C) SUM1(A) I2(B) SUM2(B) C1 C2
iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SC2(A-C) SUM1(A) I2(B) SUM2(B) C2 C1
iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SC2(A-C) I2(B) SUM1(A) C1 SUM2(B) C2
iso=[SERIALIZABLE SERIALIZABLE] pri=[1 2] history=SC1(A-C) I1(A) SC2(A-C) I2(B) SUM1(A) SUM2(B) C1 C2