Skip to content

Linearizability

Category: Safety in languages · Status: stub

One line: A concurrent object is linearizable if every operation appears to take effect at a single instant between its start and its end, so it can be reasoned about as if it were sequential.

Also called: atomic consistency, strong consistency.

How it connects

flowchart LR
  n_linearizability["Linearizability"]
  n_sequential_consistency["Sequential consistency"]
  n_linearizability ---|vs| n_sequential_consistency
  classDef center stroke-width:3px
  class n_linearizability center
  classDef outside stroke-dasharray: 4 3
  class n_sequential_consistency outside

In each language

Kotlin Lincheck ↗ runs random concurrent scenarios by stress testing or bounded model checking and checks that the results are linearizable

Where to read more