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

Dimitar Dimitrov 0004

dblp:44/4685-2 · also Dimitar K. Dimitrov 0002 · DBLP profile ↗
← Back
10ranked-venue papers
2as first author
2since 2021 · last 2025
0000-0001-9393-0925ORCID · verified

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

Software engineering, systems software and programming languages · 7 · 1 first-author · 2 since 2021Artificial intelligence and machine learning · 1Systems, architecture and hardware · 1 · 1 first-authorSecurity and privacy · 1Theory of computation · 1

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.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Emerging computing paradigms · 69% Distributed systems · 26% Parallel and multicore computing · 4%
Software engineering, system software, and programming languages
6 papers
Program verification · 38% Program analysis · 35% Concurrent programming · 20%
Network and information security
1 paper
Blockchain and cryptocurrency security · 100%
Databases, data mining, and information retrieval
1 paper
Transaction processing and concurrency control · 100%
Artificial intelligence
1 paper
Deep learning architectures and training · 100%

Topics — the 23 heaviest of 26, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Emerging computing paradigms
quantum computer architecture
1.622025
qblaze: An Efficient and Scalable Sparse Quantum Simulator · Proc. ACM Program. Lang. 2025
Modular Synthesis of Efficient Quantum Uncomputation · Proc. ACM Program. Lang. 2024
Emerging computing paradigms › quantum computer architecture
quantum circuit simulation
0.912025
qblaze: An Efficient and Scalable Sparse Quantum Simulator · Proc. ACM Program. Lang. 2025
Emerging computing paradigms › quantum computer architecture
quantum circuit synthesis
0.812024
Modular Synthesis of Efficient Quantum Uncomputation · Proc. ACM Program. Lang. 2024
Emerging computing paradigms › quantum computer architecture › quantum programming
quantum programming languages
0.812024
Modular Synthesis of Efficient Quantum Uncomputation · Proc. ACM Program. Lang. 2024
Distributed systems
consistency models
0.622018
Static serializability analysis for causal consistency · PLDI 2018
Serializability for eventual consistency: criterion, analysis, and applications · POPL 2017
Blockchain and cryptocurrency security
smart contract security
0.412020
VerX: Safety Verification of Smart Contracts · SP 2020
Blockchain and cryptocurrency security › smart contract analysis
smart contract verification
0.412020
VerX: Safety Verification of Smart Contracts · SP 2020
Program verification › model checking › state space exploration
reachability analysis
0.412020
VerX: Safety Verification of Smart Contracts · SP 2020
Program verification
temporal logic verification
0.412020
VerX: Safety Verification of Smart Contracts · SP 2020
Concurrent programming
concurrency bugs
0.422015
Stateless model checking of event-driven applications · OOPSLA 2015
Commutativity race detection · PLDI 2014
Program analysis
dynamic analysis
0.422015
Stateless model checking of event-driven applications · OOPSLA 2015
Commutativity race detection · PLDI 2014
Program analysis
static analysis
0.312018
Static serializability analysis for causal consistency · PLDI 2018
Distributed systems › consistency models
causal consistency
0.312018
Static serializability analysis for causal consistency · PLDI 2018
Transaction processing and concurrency control
correctness criteria
0.312017
Serializability for eventual consistency: criterion, analysis, and applications · POPL 2017
Transaction processing and concurrency control
serializability
0.312017
Serializability for eventual consistency: criterion, analysis, and applications · POPL 2017
Distributed systems › consistency models
eventual consistency
0.312017
Serializability for eventual consistency: criterion, analysis, and applications · POPL 2017
Distributed systems › replication › replicated data management
replicated data stores
0.312017
Serializability for eventual consistency: criterion, analysis, and applications · POPL 2017
Parallel and multicore computing
parallel programming models
0.312025
qblaze: An Efficient and Scalable Sparse Quantum Simulator · Proc. ACM Program. Lang. 2025
Programming languages and type systems
language design
0.212024
Modular Synthesis of Efficient Quantum Uncomputation · Proc. ACM Program. Lang. 2024
Program verification › model checking
stateless model checking
0.212015
Stateless model checking of event-driven applications · OOPSLA 2015
Concurrent programming › concurrency bug detection
data race detection
0.212014
Commutativity race detection · PLDI 2014
Program analysis
symbolic execution
0.112020
VerX: Safety Verification of Smart Contracts · SP 2020
Program verification › model checking › partial order reduction
dynamic partial order reduction
0.112015
Stateless model checking of event-driven applications · OOPSLA 2015

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

modular synthesis algorithm · 1.5intermediate representation · 1.5sorted array representation · 0.9parallelization · 0.9symbolic execution · 0.9predicate abstraction · 0.9delayed predicate abstraction · 0.9trace-based supervision · 0.7static analysis · 0.7formal specification · 0.6learning · 0.2dynamic partial order reduction · 0.2conflict-reversal bounding · 0.2approximate replay · 0.2
YearPublicationVenuePosition
2025 qblaze: An Efficient and Scalable Sparse Quantum Simulator
abstract
Classical simulation of quantum circuits is critical for the development of implementations of quantum algorithms: it does not require access to specialized hardware, facilitates debugging by allowing direct access to the quantum state, and is the only way to test on inputs that are too big for current NISQ computers. Many quantum algorithms rely on invariants that result in sparsity in the state vector. A sparse state vector simulator only computes with non-zero amplitudes. For important classes of algorithms, this results in an asymptotic improvement in simulation time. While promising prior work has investigated ways to exploit sparsity, it is still unclear what is the best way to scale sparse simulation to modern multi-core architectures. In this work, we address this challenge and present qblaze , a highly optimized sparse state vector simulator based on (i) a compact sorted array representation, and (ii) new, easily parallelizable and highly-scalable algorithms for all quantum operations. Our extensive experimental evaluation shows that qblaze is often orders-of-magnitude more efficient than prior sparse state vector simulators even on a single thread, and also that qblaze scales well to a large number of CPU cores. Overall, our work enables testing quantum algorithms on input sizes that were previously out of reach.
Hristo Venev, Thien Udomsrirungruang, Dimitar Dimitrov 0004, Timon Gehr, Martin T. Vechev
Proc. ACM Program. Lang.3
2024 Modular Synthesis of Efficient Quantum Uncomputation
abstract
A key challenge of quantum programming is uncomputation: the reversible deallocation of qubits. And while there has been much recent progress on automating uncomputation, state-of-the-art methods are insufficient for handling today's expressive quantum programming languages. A core reason is that they operate on primitive quantum circuits, while quantum programs express computations beyond circuits, for instance, they can capture families of circuits defined recursively in terms of uncomputation and adjoints. In this paper, we introduce the first modular automatic approach to synthesize correct and efficient uncomputation for expressive quantum programs. Our method is based on two core technical contributions: (i) an intermediate representation (IR) that can capture expressive quantum programs and comes with support for uncomputation, and (ii) modular algorithms over that IR for synthesizing uncomputation and adjoints. We have built a complete end-to-end implementation of our method, including an implementation of the IR and the synthesis algorithms, as well as a translation from an expressive fragment of the Silq programming language to our IR and circuit generation from the IR. Our experimental evaluation demonstrates that we can handle programs beyond the capabilities of existing uncomputation approaches, while being competitive on the benchmarks they can handle. More broadly, we show that it is possible to benefit from the greater expressivity and safety offered by high-level quantum languages without sacrificing efficiency.
Hristo Venev, Timon Gehr, Dimitar Dimitrov 0004, Martin T. Vechev
Proc. ACM Program. Lang.3
2020 VerX: Safety Verification of Smart Contracts
abstract
We present VerX, the first automated verifier able to prove functional properties of Ethereum smart contracts. VerX addresses an important problem as all real-world contracts must satisfy custom functional specifications.VerX is based on a careful combination of three techniques, enabling it to automatically verify temporal properties of infinite- state smart contracts: (i) reduction of temporal property verification to reachability checking, (ii) a new symbolic execution engine for the Ethereum Virtual Machine that is precise and efficient for a practical fragment of Ethereum contracts, and (iii) delayed predicate abstraction which uses symbolic execution during transactions and abstraction at transaction boundaries.Our extensive experimental evaluation on 83 temporal properties and 12 real-world projects, including popular crowdsales and libraries, demonstrates that VerX is practically effective.
Anton Permenev, Dimitar Dimitrov 0004, Petar Tsankov, Dana Drachsler-Cohen, Martin T. Vechev
SP2
2018 Training Neural Machines with Trace-Based Supervision
abstract
We investigate the effectiveness of trace-based supervision methods for training existing neural abstract machines. To define the class of neural machines amenable to trace-based supervision, we introduce the concept of a differential neural computational machine (dNCM) and show that several existing architectures (NTMs, NRAMs) can be described as dNCMs. We performed a detailed experimental evaluation with NTM and NRAM machines, showing that additional supervision on the interpretable portions of these architectures leads to better convergence and generalization capabilities of the learning phase than standard training, in both noise-free and noisy scenarios.
Matthew Mirman, Dimitar Dimitrov 0004, Pavle Djordjevic, Timon Gehr, Martin T. Vechev
ICML2
2018 Static serializability analysis for causal consistency
abstract
Many distributed databases provide only weak consistency guarantees to reduce synchronization overhead and remain available under network partitions. However, this leads to behaviors not possible under stronger guarantees. Such behaviors can easily defy programmer intuition and lead to errors that are notoriously hard to detect.
Lucas Brutschy, Dimitar Dimitrov 0004, Peter Müller 0001, Martin T. Vechev
PLDI2
2017 Serializability for eventual consistency: criterion, analysis, and applications
abstract
Developing and reasoning about systems using eventually consistent data stores is a difficult challenge due to the presence of unexpected behaviors that do not occur under sequential consistency. A fundamental problem in this setting is to identify a correctness criterion that precisely captures intended application behaviors yet is generic enough to be applicable to a wide range of applications.
Lucas Brutschy, Dimitar Dimitrov 0004, Peter Müller 0001, Martin T. Vechev
POPL2
2015 Learning Commutativity Specifications
Timon Gehr, Dimitar Dimitrov 0004, Martin T. Vechev
CAV (1)2
2015 Stateless model checking of event-driven applications
abstract
Modern event-driven applications, such as, web pages and mobile apps, rely on asynchrony to ensure smooth end-user experience. Unfortunately, even though these applications are executed by a single event-loop thread, they can still exhibit nondeterministic behaviors depending on the execution order of interfering asynchronous events. As in classic shared-memory concurrency, this nondeterminism makes it challenging to discover errors that manifest only in specific schedules of events. In this work we propose the first stateless model checker for event-driven applications, called R4. Our algorithm systematically explores the nondeterminism in the application and concisely exposes its overall effect, which is useful for bug discovery. The algorithm builds on a combination of three key insights: (i) a dynamic partial order reduction (DPOR) technique for reducing the search space, tailored to the domain of event-driven applications, (ii) conflict-reversal bounding based on a hypothesis that most errors occur with a small number of event reorderings, and (iii) approximate replay of event sequences, which is critical for separating harmless from harmful nondeterminism. We instantiate R4 for the domain of client-side web applications and use it to analyze event interference in a number of real-world programs. The experimental results indicate that the precision and overall exploration capabilities of our system significantly exceed that of existing techniques.
Casper Svenning Jensen, Anders Møller, Veselin Raychev, Dimitar Dimitrov 0004, Martin T. Vechev
OOPSLA4
2015 Race Detection in Two Dimensions
abstract
Dynamic data race detection is a program analysis technique for detecting errors provoked by undesired interleavings of concurrent threads. A primary challenge when designing efficient race detection algorithms is to achieve manageable space requirements.
Dimitar Dimitrov 0004, Martin T. Vechev, Vivek Sarkar
SPAA1
2014 Commutativity race detection
abstract
This paper introduces the concept of a commutativity race. A commutativity race occurs in a given execution when two library method invocations can happen concurrently yet they do not commute. Commutativity races are an elegant concept enabling reasoning about concurrent interaction at the library interface.
Dimitar Dimitrov 0004, Veselin Raychev, Martin T. Vechev, Eric Koskinen
PLDI1