Ilse BredeAlgorithms and verified systems Write to me

Computer scientist and research engineer, Quillbury

Graph algorithms with proofs, and the code that runs them.

Ilse Brede1,2

1 School of Computing, Quillbury University · 2 Visiting researcher, Fernmoor Systems Lab

Abstract. I study shortest paths, compressed graphs and concurrent data structures, and I care about two things at once: that an algorithm is provably correct, and that its implementation is fast on real inputs. Papers, open-source libraries, lectures and talks are collected here, with BibTeX for everything.

Read the papers Write to me

Keywords: shortest paths · succinct data structures · verified concurrency · teaching with visualisation

Weighted graph G with vertices s, a, b, c, d, e and t Eleven weighted edges. The shortest-path tree from s uses edges s–b, b–a, a–c, c–d, c–e and e–t; the distance to t is 13. 4 1 2 5 8 10 9 3 2 4 3 s0 a3 b1 c8 d11 e10 t13
Figure 1. Dijkstra’s algorithm from s on a graph with 7 vertices and 11 weighted edges. Finished: blue edges form the shortest-path tree, and d[t] = 13 via s, b, a, c, e.
Algorithm 1 Dijkstra(G, w, s)
  1. for each v ∈ V: d[v] ← ∞
  2. d[s] ← 0; Q ← {s}
  3. while Q ≠ ∅ do
  4. u ← Extract-Min(Q)
  5. for each (u, v) ∈ E, v open
  6. if d[u] + w(u,v) < d[v]
  7. d[v] ← d[u] + w(u,v)
  8. return d

Distances d[v]

Tentative distance d[v] for each vertex
vertexsabcdet
d0318111013

Q = ∅

  • current u
  • in Q
  • settled
  • tree edge

1Selected results

Three statements I would put on a postcard. Each links to the paper with the full proof; the sketches below are honest but short.

Theorem 1 (Brede and Ruel, SAF 2026). Single-source shortest paths on a graph stored in k-compressed form can be computed in O(m log k) time, without decompressing it.

Best paper award. Implemented in kestrel; see [1].

Proof sketch

Each compressed block behaves like a small sorted run. A bucket queue keyed by block keeps at most k live candidates, so every decrease-key costs O(log k) and each edge is touched once.

Lemma 2 (Felber and Brede, 2025). A history of length n is linearisable if every replay of depth 2 log n is.

The basis of our bounded checker; [4].

Proof sketch

A violation shrinks to a minimal witness whose overlapping operations form a chain of logarithmic depth, which a bounded replay always reaches.

Theorem 3 (Brede, Kawabata and Felber, 2026). The tallow priority queue is wait-free and linearisable under release–acquire memory, and every operation completes in at most 3p + 2 of its own steps for p threads.

Machine-checked, about 9,400 lines of proof; preprint [2].

Proof sketch

A helping array announces each pending operation. We prove an invariant over the array and the heap together, then show that any thread finishes after at most one full round of helping.

2Recent papers

The four newest, two of them preprints. The full list has filters by year and topic, and a BibTeX button on every entry.

  1. [1]

    Shortest paths on k-compressed graphs in near-linear time

    Ilse Brede and Tomasz Ruel.

    Proceedings of the Symposium on Algorithmic Foundations (SAF 2026), pp. 112–131.

    • Best paper award
    • Graph algorithms
    2026
  2. [2]

    A mechanised proof of a wait-free priority queue

    Ilse Brede, Mei Kawabata and Jonas Felber.

    Preprint, submitted September 2026.

    • Preprint
    • Verification
    • Concurrency
    2026
  3. [3]

    Decrease-key is (almost) free: a lazy heap for sparse graphs

    Adaeze Okonkwo-Hale and Ilse Brede.

    Preprint, June 2026.

    • Preprint
    • Graph algorithms
    • Data structures
    2026
  4. [4]

    Linearisability checking by bounded replay

    Jonas Felber and Ilse Brede.

    Proceedings of the Workshop on Verified Systems (WVS 2025), pp. 41–55.

    • Verification
    • Concurrency
    2025

All 11 publications

3Software

Every paper with a running time claim ships with code that you can benchmark yourself. Four libraries are maintained; the rest are archived with their papers.

Benchmark dashboard of the kestrel library: query time against graph size
Figure 2. kestrel against a plain binary-heap Dijkstra on twelve road networks. Log scale; lower is better.
Table 1. Maintained releases
NameWhat it doesStars
kestrelShortest paths on compressed graphs2,340
tallowWait-free priority queue, with proof610
quireTheorem environments for the web1,180
stepwiseAlgorithm player used in Figure 1890

Read about each project

4About

A short version of the CV, in prose.

I am a Senior Lecturer in Computer Science at Quillbury University, where I lead a small group of four working on graph algorithms and proof engineering. Before that I wrote my PhD at Pellbrook on shortest-path trees that carry their own correctness certificates1, and spent two summers building routing software for a logistics team.

Most of my work starts with an algorithm that is fast in theory and annoying in practice. I try to close that gap from both ends: prove a tighter bound, then write the implementation carefully enough that the bound shows up in the benchmark. When the code is concurrent, I also check it mechanically2, because tests alone have fooled me before.

I teach second-year algorithms to about two hundred students each autumn, and I build visual tools such as the player in Figure 1 so that loop invariants stop being abstract. I supervise PhD students in algorithms and verification, and I review for two symposia each year.

Outside work I run the Quillbury Theory Seminar, sail badly on the reservoir, and keep a list of proofs that were wrong in print, including one of mine.

5News and upcoming talks

What is happening this term. Older talks, with slides, are on the teaching and talks page.

  1. Upcoming

    Invited talk, Nordvik Theory Day

    “Compressed graphs, uncompressed proofs”, Nordvik.

  2. Upcoming

    SAF 2026, Tarnwick

    Presenting the best-paper result with Tomasz Ruel.

  3. Preprint: wait-free priority queue

    Proof and code released together, both open.

  4. One funded PhD place for 2027

    Verified graph algorithms. Details.

Supervision, collaboration or a talk?

I take one or two PhD students a year and say yes to most talk invitations within a day’s travel. Tell me what you are working on.

Lemma 6 (Correspondence). A message that names a concrete question receives a reply within five working days.

Write to me