Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Aurel Bílý

dblp:304/8368 · DBLP profile ↗
← Back
3ranked-venue papers
1as first author
3since 2021 · last 2025
0000-0002-9284-9161ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 1 first-author · 3 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Program verification · 47% Programming languages and type systems · 30% Program analysis · 23%

Topics — the 11 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification › program logic › separation logic
concurrent separation logic
0.912025
A Refinement Methodology for Distributed Programs in Rust · Proc. ACM Program. Lang. 2025
Program analysis › static analysis
pointer analysis
0.912025
Place Capability Graphs: A General-Purpose Model of Rust's Ownership and Borrowing Guarantees · Proc. ACM Program. Lang. 2025
Program verification
refinement
0.912025
A Refinement Methodology for Distributed Programs in Rust · Proc. ACM Program. Lang. 2025
Programming languages and type systems › rust
rust ownership
0.912025
Place Capability Graphs: A General-Purpose Model of Rust's Ownership and Borrowing Guarantees · Proc. ACM Program. Lang. 2025
Program analysis
static analysis
0.912025
Place Capability Graphs: A General-Purpose Model of Rust's Ownership and Borrowing Guarantees · Proc. ACM Program. Lang. 2025
Programming languages and type systems
type systems
0.912025
Place Capability Graphs: A General-Purpose Model of Rust's Ownership and Borrowing Guarantees · Proc. ACM Program. Lang. 2025
Program verification
deductive verification
0.512021
Modular specification and verification of closures in Rust · Proc. ACM Program. Lang. 2021
Program verification
higher-order program verification
0.512021
Modular specification and verification of closures in Rust · Proc. ACM Program. Lang. 2021
Program verification
SMT-based verification
0.512021
Modular specification and verification of closures in Rust · Proc. ACM Program. Lang. 2021
Programming languages and type systems › type systems
ownership
0.312025
A Refinement Methodology for Distributed Programs in Rust · Proc. ACM Program. Lang. 2025
Programming languages and type systems › rust
rust type system
0.312025
A Refinement Methodology for Distributed Programs in Rust · Proc. ACM Program. Lang. 2025

Methods — techniques the papers use, named apart from their topics

locally inductive invariants · 0.9guarded transition systems · 0.9coq · 0.9deductive verification · 0.5SMT solving · 0.5
YearPublicationVenuePosition
2025 A Refinement Methodology for Distributed Programs in Rust
abstract
Refinement relates an abstract system model to a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development of substantial verified systems. Nevertheless, existing refinement techniques have limitations that impede their practical usefulness. Top-down refinement techniques that automatically generate executable code generally produce implementations with sub-optimal performance. Bottom-up refinement allows one to reason about existing, efficient implementations, but imposes strict requirements on the structure of the code, the structure of the refinement proofs, as well as the employed verification logic and tools. In this paper, we present a novel bottom-up refinement methodology that removes these limitations. Our methodology usesthe familiar notion of guarded transition systems to express abstract models, but combines guards with a novel notion of locally inductive invariants to relate the abstract model locally to concrete state. This approach is muchmore flexible than standard coupling invariants; in particular, it supports a wide range of program structures, data representations, and proof structures. We integrate our methodology as a library into Rust, leveraging the Rust type system to reason about ownership of guards. This integration allows oneto use our methodology with an off-the-shelf Rust verification tool. It also facilitates practical applications, as we demonstrate on a number of substantial case studies including a concurrent implementation of Memcached.
Aurel Bílý, João C. Pereira, Peter Müller 0001
Proc. ACM Program. Lang.1
2025 Place Capability Graphs: A General-Purpose Model of Rust's Ownership and Borrowing Guarantees
abstract
Rust’s novel type system has proved an attractive target for verification and program analysis tools, due to the rich guarantees it provides for controlling aliasing and mutability. However, fully understanding, extracting and exploiting these guarantees is subtle and challenging: existing models for Rust’s type checking either support a smaller idealised language disconnected from real-world Rust code, or come with severe limitations in terms of precise modelling of Rust borrows, composite types storing them, function signatures and loops. In this paper, we present Place Capability Graphs : a novel model of Rust’s type-checking results, which lifts these limitations, and which can be directly calculated from the Rust compiler’s own programmatic representations and analyses. We demonstrate that our model supports over 97% of Rust functions in the most popular public crates, and show its suitability as a general-purpose basis for verification and program analysis tools by developing promising new prototype versions of the existing Flowistry and Prusti tools.
Zachary Grannan, Aurel Bílý, Jonás Fiala, Jasper Geer, Markus de Medeiros, Peter Müller 0001, Alexander J. Summers
Proc. ACM Program. Lang.2
2021 Modular specification and verification of closures in Rust
abstract
Closures are a language feature supported by many mainstream languages, combining the ability to package up references to code blocks with the possibility of capturing state from the environment of the closure's declaration. Closures are powerful, but complicate understanding and formal reasoning, especially when closure invocations may mutate objects reachable from the captured state or from closure arguments. This paper presents a novel technique for the modular specification and verification of closure-manipulating code in Rust. Our technique combines Rust's type system guarantees and novel specification features to enable formal verification of rich functional properties. It encodes higher-order concerns into a first-order logic, which enables automation via SMT solvers. Our technique is implemented as an extension of the deductive verifier Prusti, with which we have successfully verified many common idioms of closure usage.
Fabian Wolff, Aurel Bílý, Christoph Matheja, Peter Müller 0001, Alexander J. Summers
Proc. ACM Program. Lang.2