Before joining Madison I was a PhD student in the Computer Science department of Princeton University, advised by Professor David Walker. My research interests revolve around programming languages, verification, and their applications in networked systems. During my PhD, I developed a new language to model a network's routing behavior and to simplify the development of new network analyses (see our PLDI 2020 paper on NV). Check out a recent blog post about some of our research on network verification. On top of NV, we've also built Origami a network compression tool to scale fault tolerance analysis to very large networks.
You can find more details in my dissertation.
Previously I worked with Professor Andrew Appel on the design of an operational semantics for concurrent languages suitable for end-to-end verification. We used these semantics to prove:
Before Princeton, I obtained a Masters in Computer Science as a student in ENS Cachan, and a diploma in Electrical and Computer Engineering from National Technical University of Athens. I have worked as a research intern at Microsoft Research, Amazon AWS, MPI-SWS, and INRIA.
You can find my CV here.
Nick Giannarakis, Devon Loehr, Ryan Beckett, David Walker
PLDI 2020Artifact GitHub
Ryan Beckett, Nick Giannarakis, Devon Loehr, David Walker
Nick Giannarakis, Ryan Beckett, Ratul Mahajan, David Walker
CAV 2019GitHub [Extended version] [Slides]
Guido Martínez, Danel Ahman, Victor Dumitrescu, Nick Giannarakis, Chris Hawblitzel, Catalin Hritcu, Monal Narasimhamurthy, Zoe Paraskevopoulou, Clément Pit-Claudel, Jonathan Protzenko, Tahina Ramananandro, Aseem Rastogi, Nikhil Swamy
Aymeric Fromherz, Nick Giannarakis, Chris Hawblitzel, Bryan Parno, Aseem Rastogi, Nikhil Swamy
Arthur Azevedo de Amorim, Maxime Dénès, Nick Giannarakis, Cătălin Hriţcu, Benjamin Pierce, Antal Spector-Zabusky, Andrew Tolmach
IEEE S&P 2015GitHub