Dr. Dimitar Dimitrov

I work in the general area of programming languages. My past work focused mostly on program analysis for concurrent programs. During my PhD (at ETH Zürich) I explored two main topics: 1) efficient data race detection for structured-parallel programs, and 2) correctness criteria for concurrent use of abstract data types. The first topic lead to a modest generalization of Tarjan’s offline LCA algorithm to a wider class of structures, the two-dimensional lattices. The second topic lead to a notion of data races based on commutativity, and a conflict serializability criterion for eventually consistent systems. In the meantime and after that (at PwC Switzerland, and ChainSecurity), I investigated analysis and verification of smart contracts.

My current interests are practical foundations of programming languages, and the intersection between programming languages and mathematical logic. I think that design and implementation of real-world programming languages is in a dire need for a more systematic and rigorous approach, and that it can greatly benefit from the vast research, old and new, in programming language theory.


  • 2020, ETH Medal for outstanding PhD thesis


  • 2020, PhD in Computer Science, ETH Zurich
  • 2012, MSc in Mathematical Logic, Sofia University
  • 2009, BSc in Informatics, Sofia University