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

Aleksandr Fedchin

dblp:317/4459 · DBLP profile ↗
← Back
3ranked-venue papers
2as first author
3since 2021 · last 2026
0000-0003-0810-1941ORCID · corroborated

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

Software engineering, systems software and programming languages · 3 · 2 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
2 papers
Program verification · 67% Program synthesis and code generation · 16% Software testing · 16%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Parallel and multicore computing · 100%

Topics — the 7 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification
deductive verification
1.322026
DafnyMPI: A Dafny Library for Verifying Message-Passing Concurrent Programs · Proc. ACM Program. Lang. 2026
Metamorph: Synthesizing Large Objects from Dafny Specifications · Proc. ACM Program. Lang. 2025
Program verification
concurrent program verification
1.012026
DafnyMPI: A Dafny Library for Verifying Message-Passing Concurrent Programs · Proc. ACM Program. Lang. 2026
Program verification › concurrent program verification
message-passing program verification
1.012026
DafnyMPI: A Dafny Library for Verifying Message-Passing Concurrent Programs · Proc. ACM Program. Lang. 2026
Software testing
test input generation
0.912025
Metamorph: Synthesizing Large Objects from Dafny Specifications · Proc. ACM Program. Lang. 2025
Parallel and multicore computing › parallel programming models
message passing
0.312026
DafnyMPI: A Dafny Library for Verifying Message-Passing Concurrent Programs · Proc. ACM Program. Lang. 2026
Parallel and multicore computing
parallel programming models
0.312026
DafnyMPI: A Dafny Library for Verifying Message-Passing Concurrent Programs · Proc. ACM Program. Lang. 2026
Program verification
SMT-based verification
0.312025
Metamorph: Synthesizing Large Objects from Dafny Specifications · Proc. ACM Program. Lang. 2025

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

SMT solving · 2.9rely-guarantee reasoning · 2.0core calculus · 2.0weighted a* search · 0.9integer programming · 0.9counterexample-guided inductive synthesis · 0.9
YearPublicationVenuePosition
2026 DafnyMPI: A Dafny Library for Verifying Message-Passing Concurrent Programs
abstract
The Message Passing Interface (MPI) is widely used in parallel, high-performance programming, yet writing bug-free software that uses MPI remains difficult. We introduce DafnyMPI, a novel, scalable approach to formally verifying MPI software. DafnyMPI allows proving deadlock freedom, termination, and functional equivalence with simpler sequential implementations. In contrast to existing specialized frameworks, DafnyMPI avoids custom concurrency logics and instead relies on Dafny, a verification-ready programming language used for sequential programs, extending it with concurrent reasoning abilities. DafnyMPI is implemented as a library that enables safe MPI programming by requiring users to specify the communication topology upfront and to verify that calls to communication primitives such as MPI_ISEND and MPI_WAIT meet their preconditions. We formalize DafnyMPI using a core calculus and prove that the preconditions suffice to guarantee deadlock freedom. Functional equivalence is proved via rely-guarantee reasoning over message payloads and a system that guarantees safe use of read and write buffers. Termination and the absence of runtime errors are proved using standard Dafny techniques. To further demonstrate the applicability of DafnyMPI, we verify numerical solutions to three canonical partial differential equations. We believe DafnyMPI demonstrates how to make formal verification viable for a broader class of programs and provides proof engineers with additional tools for software verification of parallel and concurrent systems.
Aleksandr Fedchin, Antero Mejr, Hari Sundar, Jeffrey S. Foster
Proc. ACM Program. Lang.1
2025 Metamorph: Synthesizing Large Objects from Dafny Specifications
abstract
Program synthesis aims to produce code that adheres to user-provided specifications. In this work, we focus on synthesizing sequences of calls to formally specified APIs to generate objects that satisfy certain properties. This problem is particularly relevant in automated test generation, where a test engine may need an object with specific properties to trigger a given execution path. Constructing instances of complex data structures may require dozens of method calls, but reasoning about consecutive calls is computationally expensive, and existing work typically limits the number of calls in the solution. In this paper, we focus on synthesizing such long sequences of method calls in the Dafny programming language. To that end, we introduce Metamorph, a synthesis tool that uses counterexamples returned by the Dafny verifier to reason about the effects of method calls one at a time, limiting the complexity of solver queries. We also aim to limit the overall number of SMT queries by comparing the counterexamples using two distance metrics we develop for guiding the synthesis process. In particular, we introduce a novel piecewise distance metric, which puts a provably correct lower bound on the number of method calls in the solution and allows us to frame the synthesis problem as weighted A* search. When computing piecewise distance, we view object states as conjunctions of atomic constraints, identify constraints that each method call can satisfy, and combine this information using integer programming. We evaluate Metamorph’s ability to generate large objects on six benchmarks defining key data structures: linked lists, queues, arrays, binary trees, and graphs. Metamorph can successfully construct programs that require up to 57 method calls per instance and compares favorably to an alternative baseline approach. Additionally, we integrate Metamorph with DTest, Dafny’s automated test generation toolkit, and show that Metamorph can synthesize test inputs for parts of the AWS Cryptographic Material Providers Library that DTest alone is not able to cover. Finally, we use Metamorph to generate executable bytecode for a simple virtual machine, demonstrating that the techniques described here are more broadly applicable in the context of specification-guided synthesis.
Aleksandr Fedchin, Alexander Y. Bai, Jeffrey S. Foster
Proc. ACM Program. Lang.1
2022 Better Counterexamples for Dafny
abstract
Abstract Dafny is a verification-aware programming language used at Amazon Web Services to develop critical components of their access management, storage, and cryptography infrastructures. The Dafny toolchain provides a verifier that can prove an implementation of a method satisfies its specification. When the underlying SMT solver cannot establish a proof, it generates a counterexample. These counterexamples are hard to understand and their interpretation is often a bottleneck in the proof debugging process. In this paper, we introduce an open-source tool that transforms counterexamples generated by the SMT solver to a more user-friendly format that maps to the Dafny syntax and is suitable for further processing. This new tool allows the Dafny developers to quickly identify the root cause of a problem with their proof, thereby speeding up the development of Dafny projects.
Aleksandar Chakarov, Aleksandr Fedchin, Zvonimir Rakamaric, Neha Rungta
TACAS (1)2