| 2020 | ECOOP | Static Analysis of Shape in TensorFlow Programs. | Sifis Lagouvardos, Julian Dolby, Neville Grech, Anastasios Antoniadis, Yannis Smaragdakis |
| 2020 | ISSTA | Identifying Java calls in native code via binary scanning. | George Fourtounis, Leonidas Triantafyllou, Yannis Smaragdakis |
| 2020 | PLDI | Static analysis of Java enterprise applications: frameworks and caches, the elephants in the room. | Anastasios Antoniadis, Nikos Filippakis, Paddy Krishnan, Raghavendra Ramesh, Nicholas Allen, Yannis Smaragdakis |
| 2020 | PLDI | Ethainter: a smart contract security analyzer for composite vulnerabilities. | Lexi Brent, Neville Grech, Sifis Lagouvardos, Bernhard Scholz, Yannis Smaragdakis |
| 2020 | PLDI | Explaining bug provenance with trace witnesses. | Jixiang Shen, Xi Wu, Neville Grech, Bernhard Scholz, Yannis Smaragdakis |
| 2019 | ECOOP | Deep Static Modeling of invokedynamic. | George Fourtounis, Yannis Smaragdakis |
| 2019 | ICSE | Gigahorse: thorough, declarative decompilation of smart contracts. | Neville Grech, Lexi Brent, Bernhard Scholz, Yannis Smaragdakis |
| 2019 | OOPSLA | Next-paradigm programming languages: what will they look like and what changes will they bring? | Yannis Smaragdakis |
| 2018 | CC | An efficient data structure for must-alias analysis. | George Kastrinis, George Balatsouras, Kostas Ferles, Nefeli Prokopaki-Kostopoulou, Yannis Smaragdakis |
| 2018 | ECOOP | Efficient Reflection String Analysis via Graph Coloring. | Neville Grech, George Kastrinis, Yannis Smaragdakis |
| 2018 | ECOOP | Defensive Points-To Analysis: Effective Soundness via Laziness. | Yannis Smaragdakis, George Kastrinis |
| 2018 | ISSTA | Static analysis of Java dynamic proxies. | George Fourtounis, George Kastrinis, Yannis Smaragdakis |
| 2018 | ISSTA | Shooting from the heap: ultra-scalable static analysis with heap snapshots. | Neville Grech, George Fourtounis, Adrian Francalanza, Yannis Smaragdakis |
| 2018 | PLDI | Symbolic reasoning for automatic signal placement. | Kostas Ferles, Jacob Van Geffen, Isil Dillig, Yannis Smaragdakis |
| 2017 | PLDI | Porting doop to Souffl: a tale of inter-engine portability for Datalog-based analyses. | Tony Antoniadis, Konstantinos Triantafyllou, Yannis Smaragdakis |
| 2017 | PLDI | A Datalog model of must-alias analysis. | George Balatsouras, Kostas Ferles, George Kastrinis, Yannis Smaragdakis |
| 2017 | POPL | Stream fusion, to completeness. | Oleg Kiselyov, Aggelos Biboudis, Nick Palladinos, Yannis Smaragdakis |
| 2016 | SAS | Structure-Sensitive Points-To Analysis for C and C++. | George Balatsouras, Yannis Smaragdakis |
| 2015 | APLAS | More Sound Static Handling of Java Reflection. | Yannis Smaragdakis, George Balatsouras, George Kastrinis, Martin Bravenboer |
| 2015 | CC | A Backend Extension Mechanism for PQL/Java with Free Run-Time Optimisation. | Hilmar Ackermann, Christoph Reichenbach, Christian Mller, Yannis Smaragdakis |
| 2015 | ECOOP | Streams a la carte: Extensible Pipelines with Object Algebras. | Aggelos Biboudis, Nick Palladinos, George Fourtounis, Yannis Smaragdakis |
| 2015 | ECOOP | Foo: a minimal modern OO calculus. | Prodromos Gerakios, George Fourtounis, Yannis Smaragdakis |
| 2015 | OOPSLA | Automating ad hoc data representation transformations. | Vlad Ureche, Aggelos Biboudis, Yannis Smaragdakis, Martin Odersky |
| 2014 | OOPSLA | Refactoring Java generics by inferring wildcards, in practice. | John Altidor, Yannis Smaragdakis |
| 2014 | PLDI | Introspective analysis: context-sensitivity, across the board. | Yannis Smaragdakis, George Kastrinis, George Balatsouras |
| 2013 | CC | Efficient and Effective Handling of Exceptions in Java Points-to Analysis. | George Kastrinis, Yannis Smaragdakis |
| 2013 | GPCE | Reified type parameters using Java annotations. | Prodromos Gerakios, Aggelos Biboudis, Yannis Smaragdakis |
| 2013 | OOPSLA | Class hierarchy complementation: soundly completing a partial type graph. | George Balatsouras, Yannis Smaragdakis |
| 2013 | OOPSLA | Forsaking inheritance: supercharged delegation in DelphJ. | Prodromos Gerakios, Aggelos Biboudis, Yannis Smaragdakis |
| 2013 | OOPSLA | Set-based pre-processing for points-to analysis. | Yannis Smaragdakis, George Balatsouras, George Kastrinis |
| 2013 | PLDI | Hybrid context-sensitivity for points-to analysis. | George Kastrinis, Yannis Smaragdakis |
| 2012 | ECOOP | Java Wildcards Meet Definition-Site Variance. | John Altidor, Christoph Reichenbach, Yannis Smaragdakis |
| 2012 | ECOOP | PQL: A Purely-Declarative Java Extension for Parallel Programming. | Christoph Reichenbach, Yannis Smaragdakis, Neil Immerman |
| 2012 | ISSTA | Residual investigation: predictive and precise bug detection. | Kaituo Li, Christoph Reichenbach, Christoph Csallner, Yannis Smaragdakis |
| 2012 | POPL | Sound predictive race detection in polynomial time. | Yannis Smaragdakis, Jacob Evans, Caitlin Sadowski, Jaeheon Yi, Cormac Flanagan |
| 2011 | PLDI | Taming the wildcards: combining definition- and use-site variance. | John Altidor, Shan Shan Huang, Yannis Smaragdakis |
| 2011 | POPL | Pick your contexts well: understanding object-sensitivity. | Yannis Smaragdakis, Martin Bravenboer, Ondrej Lhotk |
| 2010 | OOPSLA | What can the GC compute efficiently?: a language for heap assertions at GC time. | Christoph Reichenbach, Neil Immerman, Yannis Smaragdakis, Edward Aftandilian, Samuel Z. Guyer |
| 2010 | PLDI | Resolving and exploiting the | Matthew Might, Yannis Smaragdakis, David Van Horn |
| 2009 | ISSTA | Exception analysis and points-to analysis: better together. | Martin Bravenboer, Yannis Smaragdakis |
| 2009 | OOPSLA | Strictly declarative specification of sophisticated points-to analyses. | Martin Bravenboer, Yannis Smaragdakis |
| 2008 | ASPLOS | General and efficient locking without blocking. | Yannis Smaragdakis, Anthony Kay, Reimer Behrends, Michal Young |
| 2008 | ICSE | DySy: dynamic symbolic execution for invariant inference. | Christoph Csallner, Nikolai Tillmann, Yannis Smaragdakis |
| 2008 | PLDI | Expressive and safe static reflection with MorphJ. | Shan Shan Huang, Yannis Smaragdakis |
| 2007 | ECOOP | Morphing Software for Easier Evolution. | Shan Shan Huang, Yannis Smaragdakis |
| 2007 | ECOOP | Morphing: Safely Shaping a Class in the Image of Others. | Shan Shan Huang, David Zook, Yannis Smaragdakis |
| 2007 | ICSE | Building Scalable Libraries with cJ. | Shan Shan Huang, Yannis Smaragdakis |
| 2007 | OOPSLA | Transactions with isolation and cooperation. | Yannis Smaragdakis, Anthony Kay, Reimer Behrends, Michal Young |
| 2007 | TAP | Combining Static and Dynamic Reasoning for Bug Detection. | Yannis Smaragdakis, Christoph Csallner |
| 2006 | GPCE | Transparent program transformationsin the presence of opaque code. | Eli Tilevich, Yannis Smaragdakis |
| 2006 | ICSE | Dynamically discovering likely interface invariants. | Christoph Csallner, Yannis Smaragdakis |
| 2006 | ICSE | Easy language extension with meta-aspectJ. | Shan Shan Huang, Yannis Smaragdakis |
| 2006 | ISSTA | DSD-Crasher: a hybrid analysis tool for bug finding. | Christoph Csallner, Yannis Smaragdakis |
| 2006 | MICRO | Adaptive Caches: Effective Shaping of Cache Behavior to Workloads. | Ranjith Subramanian, Yannis Smaragdakis, Gabriel H. Loh |
| 2005 | GPCE | Statically Safe Program Generation with SafeGen. | Shan Shan Huang, David Zook, Yannis Smaragdakis |
| 2005 | ICSE | Check 'n' crash: combining static checking and testing. | Christoph Csallner, Yannis Smaragdakis |
| 2005 | ICSE | Binary refactoring: improving code behind the scenes. | Eli Tilevich, Yannis Smaragdakis |
| 2004 | GPCE | Generating AspectJ Programs with Meta-AspectJ. | David Zook, Shan Shan Huang, Yannis Smaragdakis |
| 2004 | Middleware | Portable and Efficient Distributed Threads for Java. | Eli Tilevich, Yannis Smaragdakis |
| 2004 | PEPM | Program generators and the tools to make them. | Yannis Smaragdakis, Shan Shan Huang, David Zook |
| 2004 | PPDP | Invited talk: program generators and the tools to make them. | Yannis Smaragdakis |
| 2004 | SAS | Program Generators and the Tools to Make Them. | Yannis Smaragdakis |
| 2003 | ICDCS | NRMI: Natural and Efficient Middleware. | Eli Tilevich, Yannis Smaragdakis |
| 2002 | ECOOP | J-Orchestra: Automatic Java Application Partitioning. | Eli Tilevich, Yannis Smaragdakis |
| 2002 | ICSR | Layered Development with (Unix) Dynamic Libraries. | Yannis Smaragdakis |
| 2000 | ICFP | Functional programming in C++. | Brian McNamara, Yannis Smaragdakis |
| 2000 | USENIX | Performing Replacement in Modem Pools. | Yannis Smaragdakis, Paul R. Wilson |
| 2000 | SPLC | Object-oriented frameworks and product lines. | Don S. Batory, Richard Cardone, Yannis Smaragdakis |
| 1999 | SIGMETRICS | Trace Reduction for Virtual Memory Simulations. | Scott F. Kaplan, Yannis Smaragdakis, Paul R. Wilson |
| 1999 | SIGMETRICS | EELRU: Simple and Effective Adaptive Page Replacement. | Yannis Smaragdakis, Scott F. Kaplan, Paul R. Wilson |
| 1999 | USENIX | The Case for Compressed Caching in Virtual Memory Systems. | Paul R. Wilson, Scott F. Kaplan, Yannis Smaragdakis |
| 1998 | ECOOP | Implementing Layered Designs with Mixin Layers. | Yannis Smaragdakis, Don S. Batory |
| 1998 | ICSR | JTS: tools for implementing domain-specific languages. | Don S. Batory, Bernie J. Lofaso, Yannis Smaragdakis |
| 1998 | ICSR | Implementing reusable object-oriented components. | Yannis Smaragdakis, Don S. Batory |