Persistent programming is the art of developing programs that operate on state that survives their termination, whether regular or abrupt (e.g., due to a power failure). It faces some important challenges:
- Relevant systems have complex—and often unspecified—persistency semantics in that operations do not generally persist in their execution order.
- Software bugs can lead to permanent data corruption,
- Traditional testing techniques are inapplicable.
Can PL come to the rescue?
Viktor Vafeiadis is a tenured researcher at the Max Planck Institute for Software Systems (MPI-SWS), working on the semantics and verification of concurrent and persistent programs. Prior to joining MPI-SWS in 2010, Viktor got his PhD from the University of Cambridge (2008), and held postdoc positions at Microsoft Research and at the University of Cambridge. He has received the ACM SIGPLAN John C. Reynolds doctoral dissertation award (2008), an ERC Consolidator Grant (2020), the ACM SIGPLAN Robin Milner young researcher award (2022), and various distinguished paper awards.