Papers, Talks, Reports, and Software
This is an attempt at an up-to-date list of all my
papers,
talks,
reports,
and software.
A complete list of my papers can also be found on my Google Scholar profile.
Papers
- [0] MuCache: a General Framework for Caching in Microservice Graphs. 21th USENIX Symposium on Networked Systems Design and Implementation (NSDI 24). (link) (pdf)
with: Haoran Zhang, Spyros Pavlatos, Rajeev Alur, Sebastian Angel, and Vincent Liu.
- [1] Executing Shell Scripts in the Wrong Order, Correctly. Workshop on Hot Topics in Operating Systems (HotOS 23). (link) (pdf)
with: Georgios Liargkovas, Michael Greenberg, and Nikos Vasilakis.
- [2] DiSh: Dynamic Shell-Script Distribution. 20th USENIX Symposium on Networked Systems Design and Implementation (NSDI 23). (link) (pdf)
with: Tammam Mustafa, Pratyush Das, and Nikos Vasilakis.
- [3] Executing Microservice Applications on Serverless, Correctly. Proceedings of the ACM on Programming Languages (POPL 2023). (link) (pdf) (talk)
with: Haoran Zhang, Rajeev Alur, Sebastian Angel, and Vincent Liu.
- [4] Practically Correct, Just-in-Time Shell Script Parallelization. 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22). (link) (pdf) (talk)
with: Tammam Mustafa, Jan Bielak, Dimitris Karnikis, Thurston Dang, Michael Greenberg, and Nikos Vasilakis.
- [5] Netherite: Efficient Execution of Serverless Workflows. Proceedings of the VLDB Endowment (VLDB 2022). (link) (pdf)
with: Sebastian Burckhardt, Badrish Chandramouli, Chris Gillum, David Justo, Connor McMahon, Christopher S. Meiklejohn, and Xiangfeng Zhu.
- [6] Stream Processing with Dependency-Guided Synchronization. Proceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2022). (link) (talk)
with: Filip Niksic, Caleb Stanford, and Rajeev Alur.
- [7] Charon: A Framework for Microservice Overload Control. Proceedings of the 18th ACM Workshop on Hot Topics in Networks (HotNets 2021). (pdf) (talk)
with: Jiali Xing, Max Demoulin, and Benjamin C. Lee.
- [8] Durable Functions: Semantics for Stateful Serverless. Proceedings of the ACM on Programming Languages (OOPSLA 2021). (link) (pdf) (talk)
with: Sebastian Burckhardt, Chris Gillum, David Justo, Connor McMahon, and Christopher S. Meiklejohn.
- [9] An Order-aware Dataflow Model for Parallel Unix Pipelines. Proceedings of the ACM on Programming Languages (ICFP 2021). (link) (talk)
with: Shivam Handa, Nikos Vasilakis, and Martin Rinard.
- [10] Synchronization Schemas. Invited Paper at Proceedings of the 40th Symposium on Principles of Database Systems (PODS 2021). (link)
with: Rajeev Alur, Phillip Hillard, Zachary G. Ives, Konstantinos Mamouras, Filip Niksic, Caleb Stanford, Val Tannen, and Anton Xue.
- [11] Unix Shell Programming: The Next 50 Years. Proceedings of the Workshop on Hot Topics in Operating Systems (HotOS 2021). (link) (pdf) (talk)
⭐ Distinguished Presentation Award ⭐
with: Michael Greenberg and Nikos Vasilakis.
- [12] The Future of the Shell: Unix and Beyond. Panel at the Workshop on Hot Topics in Operating Systems (HotOS 2021). (link)
with: Michael Greenberg and Nikos Vasilakis.
- [13] PaSh: Light-touch Data-Parallel Shell Processing. Proceedings of the Sixteenth European Conference on Computer Systems (EuroSys 2021). (link) (pdf) (talk)
⭐ Best Paper Award ⭐
with: Nikos Vasilakis, Konstantinos Mamouras, Achilleas Benetopoulos, and Lazar M. Cvetković.
- [14] Preventing Dynamic Library Compromise on Node. js via RWX-Based Privilege Reduction. Proceedings of the ACM SIGSAC Conference on Computer and Communications Security (CCS’21). (link) (pdf)
with: Nikos Vasilakis, Cristian-Alexandru Staicu, Grigoris Ntousakis, Ben Karel, André DeHon, and Michael Pradel.
- [15] Code-level model checking in the software development workflow at Amazon Web Services. Software: Practice and Experience 2021. (link)
with: Nathan Chong, Byron Cook, Jonathan Eidelman, Kareem Khazem, Felipe R. Monteiro, Daniel Schwartz-Narbonne, Serdar Tasiran, Michael Tautschnig, and Mark R. Tuttle.
- [16] DiffStream: Differential Output Testing for Stream Processing Programs. Proceedings of the ACM on Programming Languages (OOPSLA 2020). (link) (pdf)
with: Filip Niksic, Caleb Stanford, and Rajeev Alur.
- [17] Code-Level Model Checking in the Software Development Workflow. 42st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP 2020). (pdf) (talk)
with: Nathan Chong, Byron Cook, Kareem Khazem, Felipe R. Monteiro, Daniel Schwartz-Narbonne, Serdar Tasiran, Michael Tautschnig, and Mark R. Tuttle.
- [18] Security Criteria for a Transparent Encryption Layer. Workshop on Foundations of Computer Security (FCS 2019). (link)
with: Clara Schneidewind, Benjamin C. Pierce, and Steve Zdancewic.
- [19] HiPErJiT: A Profile-Driven Just-in-Time Compiler for Erlang. 30th Symposium on Implementation and Application of Functional Languages (IFL 2018). (link) (pdf)
with: Konstantinos Sagonas.
Talks
- [20] Programmable Software Systems for Correct High-performance Applications. Invited talk @ University of Wisconsin-Madison, 2024. Host: Tej Chajed.
- [21] Programmable Software Systems for Correct High-performance Applications. Invited talk @ University of Michigan, 2024. Host: Manos Kapritsos.
- [22] Programmable Software Systems for Correct High-performance Applications. Invited talk @ University of California, Los Angeles, 2024. Host: Jens Palsberg.
- [23] Programmable Software Systems for Correct High-performance Applications. Invited talk @ Rutgers University, 2024. Host: Santosh Nagarakatte.
- [24] Programmable Software Systems for Correct High-performance Applications. Invited talk @ Yale University, 2024. Host: Ruzica Piskac.
- [25] Programmable Software Systems for Correct High-performance Applications. Invited talk @ Imperial College London, 2024. Host: Holger Pirk.
- [26] Programmable Software Systems for Correct High-performance Applications. Invited talk @ Brown University, 2024. Host: Nikos Vasilakis.
- [27] Programmable Software Systems for Correct High-performance Applications. Invited talk @ University of Maryland, College Park, 2024. Host: Leonidas Lampropoulos.
- [28] Programmable Software Systems for Correct High-performance Applications. Invited talk @ Stevens Institute of Technology, 2024. Host: Eric Koskinen.
- [29] Programmable Software Systems for Correct High-performance Applications. Invited talk @ IMDEA Software Institute, 2024. Host: Niki Vazou.
- [30] Programmable Software Systems for Correct High-performance Applications. Invited talk @ ETH Zurich, 2024. Host: Gustavo Alonso.
- [31] Programmable Software Systems for Correct High-performance Applications. Invited talk @ Georgia Institute of Technology, 2024. Host: Qirun Zhang.
- [32] Programmable Software Systems for Correct High-performance Applications. Invited talk @ Boston University, 2024. Host: Wenchao Li.
- [33] Programmable Software Systems for Correct High-performance Applications. Invited talk @ Institute of Science and Technology Austria (ISTA), 2024. Host: Tom Henzinger.
- [34] Programmable Software Systems for Correct High-performance Applications. Invited talk @ New Jersey Institute of Technology, 2024. Host: Martin Kellogg.
- [35] PaSh: Practically Correct, Just-in-Time Shell Script Parallelization. Invited lecture at Programming Language and Translators (COMS 4115) @ Columbia University, 2023. Host: Baishakhi Ray.
- [36] PaSh: Practically Correct, Just-in-Time Shell Script Parallelization. Compute Seminar @ Technical University of Denmark (DTU), 2023. Host: Christian Gram Kalhauge.
- [37] Executing Microservices on Serverless, Correctly. Sysread Seminar @ Brown University, 2023. Host: Shriram Krishnamurthi.
- [38] Advancing the Serverless Paradigm. Invited Lecture at Systems Transforming Systems Course @ Brown University, 2023. Host: Nikos Vasilakis.
- [39] PaSh: Practically Correct, Just-in-Time Shell Script Parallelization. Portland Programming Languages Seminar @ Portland State University, 2023. Host: Yao Li. (pdf)
- [40] Executing Microservices on Serverless, Correctly. Programming Languages Seminar @ Harvard University, 2023. Host: Stephen Chong.
- [41] PaSh: Practically Correct, Just-in-Time Shell Script Parallelization. CSLab Computing Systems Day @ National Technical University of Athens, 2023. Host: Georgios Goumas.
- [42] PaSh: Practically Correct, Just-in-Time Shell Script Parallelization. Invited Lecture at Systems Transforming Systems Course @ Brown University, 2022. Host: Nikos Vasilakis.
- [43] PaSh: Practically Correct, Just-in-Time Shell Script Parallelization. New England Programming Languages and Systems Symposium (NEPLS) @ Harvard University, 2022.
- [44] PaSh: Practically Correct, Just-in-Time Shell Script Parallelization. New Jersey Programming Languages and Systems Seminar (NJPLS) @ Stevens University, 2022. (pdf)
- [45] PaSh: Practically Correct, Just-in-Time Shell Script Parallelization. Languages, Systems, and Data Group Seminar @ University of California Santa Cruz, 2022. Host: Lindsey Kuper. (pdf)
- [46] PaSh: Data-parallel shell scripting. Programming Research Laboratory Seminar @ Northeastern University (Virtual), 2022. Host: Arjun Guha.
- [47] Flumina: Correct Distribution of Stateful Streaming Computations. Programming Languages Tea @ University of California San Diego, 2020. Host: Nadia Polikarpova. (pdf)
- [48] Flumina: Correct Distribution of Stateful Streaming Computations. Athens Programming Languages Seminar @ National Technical University of Athens, 2019. Host: Kostis Sagonas and Nikos Papaspirou. (pdf)
- [49] HiPErJiT: A Profile-Driven Just-in-Time Compiler for Erlang. Athens Programming Languages Seminar @ National Technical University of Athens, 2018. Host: Kostis Sagonas and Nikos Papaspirou. (pdf)
Theses/Reports
- [50] Just-in-Time Scale-out of Shell Programs, Correctly. University of Pennsylvania. 2024. (pdf)
- [51] Configurable Consistency Notions - WPE 2 Report. University of Pennsylvania. 2020. (pdf) (talk)
- [52] HiPErJiT: A Profile-Driven Just-in-Time Compiler for Erlang based on HiPE. National Technical University of Athens. 2018. (link) (pdf)
Software
-
PaSh (GitHub)
Star
A system that automatically parallelizes your shell scripts. Hosted by the
Linux Foundation.
-
try (GitHub)
Star
A tool that lets you run a command and inspect its effects before committing them to your system.
-
DiSh (GitHub)
Star
A system that automatically scales out shell scripts that operate on files in HDFS.
-
mucache (GitHub)
Star
A system that automatically adds and manages caches in microservice applications.
-
mu2sls (GitHub)
Star
A framework for correctly implementing stateful microservice applications on serverless using standard Python.
-
Flumina (GitHub)
Star
A programming model and system for stateful distributed streaming computations.
-
DiffStream (GitHub)
Star
A differential testing library for stream processing applications in Apache Flink.