I am a Senior Research Software Engineer at Microsoft Research in Redmond, WA.I enjoy working at the intersection of programming languages and (distributed) systems, and I am currently focused on designing new programming models and techniques that help developers build highly-reliable, fault-tolerant cloud services.
I co-created P#, an asynchronous event-driven programming language and framework for designing, implementing and automatically testing distributed systems and microservices. P# is used in production by several teams in Microsoft Azure.
Prior to working at Microsoft, I studied for my PhD at Imperial College London, where I was fortunate to be advised by Alastair F. Donaldson. My PhD focused on scalable techniques for automatically analyzing and testing real-world asynchronous software systems. During my PhD, I did three research internships at Microsoft Research.
I am currently working on:
- [git] P#, a programming framework that simplifies designing, developing and testing asynchronous programs, such as microservices and distributed systems.
- Reliable State Machines (RSMs), an extension of the P# programming language that provides automatic fault-tolerance for cloud services.
Some cool projects I have previously worked on (list not up-to-date/complete):
- Snowflake, an experimental extension of the .NET runtime that provides APIs for safe manual memory management alongside the traditional garbage collector.
- Dungeon Story, a Puzzle/RPG game that I developed (as a hobby project) during summer 2012. The game is available worldwide in the iOS App Store, it has been downloaded by more than 195,000 users, and has hundreds of 4.5/5 star ratings.
- [pdf] Reliable State Machines: A Framework for Programming Reliable Cloud Services, Suvam Mukherjee, Nitin John Raj, Krishnan Govindraj, Pantazis Deligiannis, Chandramouleswaran Ravichandran, Akash Lal, Aseem Rastogi and Raja Krishnaswamy. In the 33rd European Conference on Object-Oriented Programming (ECOOP'19), 2019.
- [pdf] Implementing and Evaluating Candidate-Based Invariant Generation, Adam Betts, Nathan Chong, Pantazis Deligiannis, Alastair F. Donaldson and Jeroen Ketema. In IEEE Transactions on Software Engineering (TSE), 2018.
- [pdf] Project Snowflake: Non-blocking safe manual memory management in .NET, Matthew Parkinson, Dimitrios Vytiniotis, Kapil Vaswani, Manuel Costa, Pantazis Deligiannis, Dylan McDermott, Aaron Blankstein and Jonathan Balkind. In the 32th ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'17), 2017.
- [pdf] Lasso detection using Partial State Caching, Rashmi Mudduluru, Pantazis Deligiannis, Ankush Desai, Akash Lal and Shaz Qadeer. In the 17th International Conference on Formal Methods in Computer-Aided Design (FMCAD'17), 2017.
- [pdf] Uncovering Bugs in Distributed Storage Systems During Testing (not in Production!), Pantazis Deligiannis, Matt McCutchen, Paul Thomson, Shuo Chen, Alastair F. Donaldson, John Erickson, Cheng Huang, Akash Lal, Rashmi Mudduluru, Shaz Qadeer and Wolfram Schulte. In the 14th USENIX Conference on File and Storage Technologies (FAST'16), 2016.
- [pdf] Fast and Precise Symbolic Analysis of Concurrency Bugs in Device Drivers, Pantazis Deligiannis, Alastair F. Donaldson and Zvonimir Rakamaric ́. In the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE'15), 2015.
- [pdf] Asynchronous Programming, Analysis and Testing with State Machines, Pantazis Deligiannis, Alastair F. Donaldson, Jeroen Ketema, Akash Lal and Paul Thomson. In the 36th Annual ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'15), 2015.
- [pdf] Automatic Verification of Data Race Freedom in Device Drivers, Pantazis Deligiannis and Alastair F. Donaldson. In the 4th Imperial College Computing Student Workshop (ICCSW'14), 2014.
- [website] Engineering a Static Verification Tool for GPU Kernels, Ethel Bardsley, Adam Betts, Nathan Chong, Peter Collingbourne, Pantazis Deligiannis, Alastair F. Donaldson, Jeroen Ketema, Daniel Liew and Shaz Qadeer. In the 26th International Conference on Computer Aided Verification (CAV'14), 2014.
- Haskell vs. F# vs. Scala: A High-level Language Features and Parallelism Support Comparison, Prabhat Totoo, Pantazis Deligiannis and Hans-Wolfgang Loidl. In the 1st ACM SIGPLAN Workshop on Functional High-Performance Computing (FHPC'12), 2012.
- [pdf] Improving the Diagnosis of Mild Hypertrophic Cardiomyopathy with MapReduce, Pantazis Deligiannis, Hans-Wolfgang Loidl and Evangelia Kouidi. In the 3rd International Workshop on MapReduce and its Applications (MAPREDUCE'12), 2012.
- [pdf] Reliable State Machines: A Framework for Programming Reliable Cloud Services, Suvam Mukherjee, Nitin John Raj, Krishnan Govindraj, Pantazis Deligiannis, Chandramouleswaran Ravichandran, Akash Lal, Aseem Rastogi and Raja Krishnaswamy. Tech Report, arXiv:1902.09502, 2019.
- [pdf] Project Snowflake: Non-blocking safe manual memory management in .NET, Matthew Parkinson, Dimitrios Vytiniotis, Kapil Vaswani, Manuel Costa, Pantazis Deligiannis, Dylan McDermott, Aaron Blankstein and Jonathan Balkind. Tech Report MSR-TR-2017-32, Microsoft Research, 2017.
- [pdf] Scalable techniques for analysing and testing asynchronous software systems, Pantazis Deligiannis. Ph.D. Thesis, Department of Computing, Imperial College London, 2017.
About P# at:
- USENIX FAST'16 (February 2016), Microsoft Research Cambridge (January 2016), Charles University in Prague (December 2015), Microsoft Research Cambridge (October 2015), Microsoft Research Redmond (August 2015), Microsoft Azure Storage (July 2015), PLDI'15 (June 2015), Microsoft Research Redmond (June 2015), Imperial College London (May 2015), University of Utah (March 2015).
About Whoop at:
- Microsoft Research Cambridge (January 2016), ASE'15 (November 2015), Intel Hillsboro (June 2015), ICCSW'14 (September 2014).
I am serving (or have served) on the committee of:
- POPL 2017 - Artifact Evaluation Committee.
- CGO 2016 and PPoPP 2016 - Joint Artifact Evaluation Committee.
I am also a reviewer for the Transactions on Computer Systems (TOCS) journal.
I love travelling. See where I have been.