Table 1. Statistics of benchmarks and deadlocks.

Benchmark

Bug ID

SLOC

# of threads
(prog/dlk)

# of dlks

Lp

WNk

Multi-
entries?

Multi-
exits?

Any
Loops?

Depth
Func. (sloc)

Pre-acq
only?

DB Maintain

n/a

0.1K

3 / 2

1

0

0

N

N

N

0 (1) / 0 (3)

Y

Bank Trans.

n/a

0.1K

3 / 2

1

0

0

N

N

N

0 (3) / 0 (3)

Y

Dining Philo.

n/a

0.1K

5 / 5

1

0

0

N

N

N

0 (1) / 0 (1)

Y

Hawknl (1.6b3)

n/a

9.3K

3 / 2

1

0

0

N

N

N

0 (5) / 0 (6)

Y

SQLite (3.3.3)

1672

74.0K

3 / 2

2

0

0

N

N

N

0 (1) / 1 (4)

Y

0

0

N

N

N

0 (4) / 1 (1)

Y

OpenLDAP (2.2.20)

3494

167.3K

5 / 2

1

1 / 0

0

N / Y

N/ Y

N / Y

1 (36) / 1 (29)

Y

MySQL-1 (6.0.4a)

34567

1,093.6K

16 / 2

4

1 / 0

0

Y / N

Y/ N

Y / N

8 (26) / 0 (2)

Y

1 / 0

0

Y / N

Y/ N

Y / N

8 (26) / 0 (2)

Y

1 / 0

0

Y / N

N/ N

N / N

1 (30) / 0 (2)

Y

1 / 0

0

Y / N

N/ N

N / N

1 (30) / 0 (2)

Y

MySQL-2 (6.0.4a)

37080

1,093.6K

17 / 2

1

1 / 3

0

Y/ Y

Y/ Y

Y / N

4 (43) / 4 (15)

N

MySQL-3 (5.5.17)

62614

1,282.7K

22 / 2

2

1 / 0

0

N / Y

N / Y

N / Y

0 (1) / 1 (13)

Y

1 / 0

0

N / Y

N / Y

N / Y

0 (1) / 1 (8)

Y

MySQL-4 (5.1.57)

60682

1,146.7K

19 / 3

6

1 / 0 / 0

1 / 0 / 0

Y

Y

Y / N/ Y

1 (23) / 5 (65) / 2 (18)

Y

1 / 0 / 0

1 / 0 / 0

Y

Y

Y / N/ Y

1 (23) / 5 (80) / 2 (18)

Y

1 / 0 / 0

1 / 0 / 0

Y

Y

Y / N/ Y

1 (23) / 5 (101) / 2 (18)

Y

1 / 0 / 0

1 / 0 / 0

Y

Y

Y / N/ Y

1 (23) / 5 (151) / 2 (18)

Y

1 / 0 / 0

1 / 1 / 0

Y

Y

Y / N/ Y

1 (23) / 4 (129) / 2 (18)

Y

1 / 0 / 0

1 / 1 / 0

Y

Y

Y / N/ Y

1 (23) / 4 (116) / 2 (18)

Y