About
At Oracle, I help evolve the Java programming language through language design, the JEP process, javac implementation, and authorship of the Java Language Specification. My current work focuses on pattern matching and broader language evolution under Project Amber.
Previously, I worked on the Scala 3 compiler as a postdoctoral researcher at EPFL with Martin Odersky. I earned my PhD at the University of Athens under Yannis Smaragdakis, where my research focused on programming languages and high-performance stream processing, with publications at POPL, OOPSLA, and ECOOP.
Get in touch: biboudis att gmail dott com
Java & talks
Selected writing and talks on pattern matching and the evolution of Java.
Research & publications
My research spans programming languages, metaprogramming, and efficient stream processing. Publications are listed with their original author names.
Programming languages
- Highest-performance Stream ProcessingO. Kiselyov, T. Kobayashi, A. Biboudis, N. Palladinos, OCaml Workshop'22
- All Things Flow: Unfolding the History of StreamsA. Biboudis, J. Gibbons and O. Kiselyov. HaPoC'21 (slides)
- A Type-and-Effect System for Object InitializationF. Liu, O. Lhotak, A. Biboudis, P. Giarrusso and M. Odersky. OOPSLA'20
- Semantics-Preserving Inlining for MetaprogrammingN. Stucki, A. Biboudis, S. Doeraene and M. Odersky. SCALA'20
- A Practical Unification of Multi-stage Programming and MacrosN. Stucki, A. Biboudis and M. Odersky. GPCE'18
- Initialization Patterns in DottyF. Liu, A. Biboudis and M. Odersky. SCALA'18
- Simplicitly: Foundations and Applications of Implicit Function TypesM. Odersky, O. Blanvillain, F. Liu, A. Biboudis, H. Miller, and S. Stucki. POPL'18
- Extensible and Efficient Streaming LibrariesA. Biboudis. PhD thesis (slides)
- Structured Program Generation TechniquesY. Smaragdakis, A. Biboudis, and G. Fourtounis. GTTSE — Grand Timely Topics in SE
- Stream Fusion, to CompletenessO. Kiselyov, A. Biboudis, N. Palladinos and Y. Smaragdakis. POPL'17 (repo, slides, video)
- Recaf: Java Dialects as LibrariesA. Biboudis, P. Inostroza and T. van der Storm. GPCE'16 (repo, slides)
- Streams à la carte: Extensible Pipelines with Object AlgebrasA. Biboudis, N. Palladinos, G. Fourtounis and Y. Smaragdakis. ECOOP'15 (repo, video, bib)
- Automating Ad hoc Data Representation TransformationsV. Ureche, A. Biboudis, Y. Smaragdakis and M. Odersky. OOPSLA'15
- jUCM: Universal Class Morphing (position paper)A. Biboudis, G. Fourtounis and Y. Smaragdakis, MASPEGHI'15 (slides)
- MorphScala: Safe Class Morphing with MacrosA. Biboudis and E. Burmako. SCALA'14
- Clash of the LambdasA. Biboudis, N. Palladinos and Y. Smaragdakis. ICOOOLPS'14 (slides, repo)
- Reified Type Parameters Using Java AnnotationsP. Gerakios, A. Biboudis, and Y. Smaragdakis. GPCE'13 (slides, poster)
- Forsaking Inheritance: Supercharged Delegation in DelphJP. Gerakios, A. Biboudis, and Y. Smaragdakis. OOPSLA'13
Computer vision
- MobiXeyes: Real-time Stereo Vision Technology for Racket SportsO. Sekkas, V. Tsetsos, A. Biboudis, E. Zervas, N. Silvestros, S. Hadjiefthymiades, A. Batistakis. APCST'15
Wireless sensor networks
- Multisensor data fusion for fire detectionE. Zervas, A. Biboudis, C. Anagnostopoulos, O. Sekkas, and S. Hadjiefthymiades.
Academic service
Program committees (PC), reviewing, and conference organisation.
- ICFP 2023 (PC)
- ARRAY 2021 (PC)
- GPCE 2021, 2018 (PC)
- SPLASH 2019 (web/publicity co-chair)
- ML Workshop 2019 (PC)
- OOPSLA 2019 (External Reviewer)
- Functional Stream Libraries and Fusion: What's Next? (Co-organiser of Shonan Meeting)
- REBLS 2017, 2018, 2019 (PC)
- SCALA 2017 (PC), 2016 (co-chair)
- ECOOP 2016 Artifact Evaluation Committee
Teaching
- TA/Lecturer, Foundations of Software (2017, 2018) by Professor M. Odersky
- TA/Lab, K04-Introduction to Programming (2011) by Professor P. Stamatopoulos
- TA, K10-Object Oriented Programming (2011, 2012) by Professor I. Karali
- TA, K22-Operating Systems (2010, 2011, 2012) by Professor S. Hadjiefthymiades
- TA, TP06-Compilers (2012) by Professor Y. Smaragdakis