Yannis Smaragdakis

Orcid: 0000-0002-0499-0182

Affiliations:
  • University of Athens, Athens, Greece


According to our database1, Yannis Smaragdakis authored at least 134 papers between 1997 and 2024.

Collaborative distances:

Timeline

Legend:

Book 
In proceedings 
Article 
PhD thesis 
Dataset
Other 

Links

Online presence:

On csauthors.net:

Bibliography

2024
The Incredible Shrinking Context... in a decompiler near you.
CoRR, 2024

2022
Elipmoc: advanced decompilation of Ethereum smart contracts.
Proc. ACM Program. Lang., 2022

2021
Making pointer analysis more precise by unleashing the power of selective context sensitivity.
Proc. ACM Program. Lang., 2021

Symbolic value-flow static analysis: deep, precise, complete modeling of Ethereum smart contracts.
Proc. ACM Program. Lang., 2021

2020
A Principled Approach to Selective Context Sensitivity for Pointer Analysis.
ACM Trans. Program. Lang. Syst., 2020

Symbolic Reasoning for Automatic Signal Placement.
ACM SIGOPS Oper. Syst. Rev., 2020

Precise static modeling of Ethereum "memory".
Proc. ACM Program. Lang., 2020

Static Analysis of Shape in TensorFlow Programs (Artifact).
Dagstuhl Artifacts Ser., 2020

MadMax: analyzing the out-of-gas world of smart contracts.
Commun. ACM, 2020

Explaining bug provenance with trace witnesses.
Proceedings of the 9th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis, 2020

Ethainter: a smart contract security analyzer for composite vulnerabilities.
Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, 2020

Static analysis of Java enterprise applications: frameworks and caches, the elephants in the room.
Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, 2020

Identifying Java calls in native code via binary scanning.
Proceedings of the ISSTA '20: 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, 2020

Static Analysis of Shape in TensorFlow Programs.
Proceedings of the 34th European Conference on Object-Oriented Programming, 2020

2019
Deep Static Modeling of invokedynamic (Artifact).
Dagstuhl Artifacts Ser., 2019

Next-paradigm programming languages: what will they look like and what changes will they bring?
Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, 2019

Gigahorse: thorough, declarative decompilation of smart contracts.
Proceedings of the 41st International Conference on Software Engineering, 2019

Deep Static Modeling of invokedynamic.
Proceedings of the 33rd European Conference on Object-Oriented Programming, 2019

2018
Precision-guided context sensitivity for pointer analysis.
Proc. ACM Program. Lang., 2018

MadMax: surviving out-of-gas conditions in Ethereum smart contracts.
Proc. ACM Program. Lang., 2018

Symbolic Reasoning for Automatic Signal Placement (Extended Version).
CoRR, 2018

Effectiveness of anonymization in double-blind review.
Commun. ACM, 2018

Scalability-first pointer analysis with self-tuning context-sensitivity.
Proceedings of the 2018 ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2018

Shooting from the heap: ultra-scalable static analysis with heap snapshots.
Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, 2018

Static analysis of Java dynamic proxies.
Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, 2018

Defensive Points-To Analysis: Effective Soundness via Laziness.
Proceedings of the 32nd European Conference on Object-Oriented Programming, 2018

Efficient Reflection String Analysis via Graph Coloring.
Proceedings of the 32nd European Conference on Object-Oriented Programming, 2018

An efficient data structure for must-alias analysis.
Proceedings of the 27th International Conference on Compiler Construction, 2018

2017
P/Taint: unified points-to and taint analysis.
Proc. ACM Program. Lang., 2017

Heaps don't lie: countering unsoundness with heap snapshots.
Proc. ACM Program. Lang., 2017

Stream fusion, to completeness.
Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, 2017

A Datalog model of must-alias analysis.
Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis, 2017

Porting doop to Soufflé: a tale of inter-engine portability for Datalog-based analyses.
Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis, 2017

2016
Structure-Sensitive Points-To Analysis for C and C++.
Proceedings of the Static Analysis - 23rd International Symposium, 2016

2015
Pointer Analysis.
Found. Trends Program. Lang., 2015

Streams à la carte: Extensible Pipelines with Object Algebras (Artifact).
Dagstuhl Artifacts Ser., 2015

jUCM: Universal Class Morphing (position paper).
CoRR, 2015

In defense of soundiness: a manifesto.
Commun. ACM, 2015

Automating ad hoc data representation transformations.
Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, 2015

Structured Program Generation Techniques.
Proceedings of the Grand Timely Topics in Software Engineering, 2015

Foo: a minimal modern OO calculus.
Proceedings of the 17th Workshop on Formal Techniques for Java-like Programs, 2015

Streams a la carte: Extensible Pipelines with Object Algebras.
Proceedings of the 29th European Conference on Object-Oriented Programming, 2015

A Backend Extension Mechanism for PQL/Java with Free Run-Time Optimisation.
Proceedings of the Compiler Construction - 24th International Conference, 2015

More Sound Static Handling of Java Reflection.
Proceedings of the Programming Languages and Systems - 13th Asian Symposium, 2015

2014
Residual Investigation: Predictive and Precise Bug Detection.
ACM Trans. Softw. Eng. Methodol., 2014

Clash of the Lambdas.
CoRR, 2014

Second-Order Constraints in Dynamic Invariant Inference.
Proceedings of the Software Engineering 2014, Fachtagung des GI-Fachbereichs Softwaretechnik, 25. Februar, 2014

Introspective analysis: context-sensitivity, across the board.
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2014

Refactoring Java generics by inferring wildcards, in practice.
Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, 2014

2013
Pointer Analysis (Dagstuhl Seminar 13162).
Dagstuhl Reports, 2013

Resolving and Exploiting the $k$-CFA Paradox.
CoRR, 2013

Hybrid context-sensitivity for points-to analysis.
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2013

Set-based pre-processing for points-to analysis.
Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, 2013

Forsaking inheritance: supercharged delegation in DelphJ.
Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, 2013

Class hierarchy complementation: soundly completing a partial type graph.
Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, 2013

SEDGE: Symbolic example data generation for dataflow programs.
Proceedings of the 2013 28th IEEE/ACM International Conference on Automated Software Engineering, 2013

Reified type parameters using Java annotations.
Proceedings of the Generative Programming: Concepts and Experiences, 2013

Efficient and Effective Handling of Exceptions in Java Points-to Analysis.
Proceedings of the Compiler Construction - 22nd International Conference, 2013

2012
High-level data structures: technical perspective.
Commun. ACM, 2012

Sound predictive race detection in polynomial time.
Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2012

PQL: A Purely-Declarative Java Extension for Parallel Programming.
Proceedings of the ECOOP 2012 - Object-Oriented Programming, 2012

Java Wildcards Meet Definition-Site Variance.
Proceedings of the ECOOP 2012 - Object-Oriented Programming, 2012

Declarative Datalog Debugging for Mere Mortals.
Proceedings of the Datalog in Academia and Industry - Second International Workshop, 2012

2011
Morphing: Structurally shaping a class by reflecting on others.
ACM Trans. Program. Lang. Syst., 2011

DOLAR: virtualizing heterogeneous information spaces to support their expansion.
Softw. Pract. Exp., 2011

Statically safe program generation with SafeGen.
Sci. Comput. Program., 2011

Pick your contexts well: understanding object-sensitivity.
Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2011

Taming the wildcards: combining definition- and use-site variance.
Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, 2011

2010
Adaptive locks: Combining transactions and locks for efficient concurrency.
J. Parallel Distributed Comput., 2010

Resolving and exploiting the <i>k</i>-CFA paradox: illuminating functional vs. object-oriented program analysis.
Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation, 2010

What can the GC compute efficiently?: a language for heap assertions at GC time.
Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2010

Using Datalog for Fast and Easy Program Analysis.
Proceedings of the Datalog Reloaded - First International Workshop, 2010

2009
J-Orchestra: Enhancing Java programs with distribution capabilities.
ACM Trans. Softw. Eng. Methodol., 2009

An overview of the Oregon programming languages summer school.
ACM SIGPLAN Notices, 2009

Scalable satisfiability checking and test data generation from modeling diagrams.
Autom. Softw. Eng., 2009

Strictly declarative specification of sophisticated points-to analyses.
Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2009

Exception analysis and points-to analysis: better together.
Proceedings of the Eighteenth International Symposium on Software Testing and Analysis, 2009

2008
NRMI: Natural and Efficient Middleware.
IEEE Trans. Parallel Distributed Syst., 2008

Domain-specific languages and program generation with meta-AspectJ.
ACM Trans. Softw. Eng. Methodol., 2008

DSD-Crasher: A hybrid analysis tool for bug finding.
ACM Trans. Softw. Eng. Methodol., 2008

Combining Static and Dynamic Reasoning for the Discovery of Program Properties.
Proceedings of the Model Checking Software, 2008

Expressive and safe static reflection with MorphJ.
Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, 2008

DySy: dynamic symbolic execution for invariant inference.
Proceedings of the 30th International Conference on Software Engineering (ICSE 2008), 2008

General and efficient locking without blocking.
Proceedings of the 2008 ACM SIGPLAN workshop on Memory Systems Performance and Correctness: held in conjunction with the Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '08), 2008

2007
Combining Static and Dynamic Reasoning for Bug Detection.
Proceedings of the Tests and Proofs - 1st International Conference, 2007

Transactions with isolation and cooperation.
Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, 2007

Scalable automatic test data generation from modeling diagrams.
Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), 2007

Building Scalable Libraries with cJ.
Proceedings of the 29th International Conference on Software Engineering (ICSE 2007), 2007

Morphing: Safely Shaping a Class in the Image of Others.
Proceedings of the ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30, 2007

Morphing Software for Easier Evolution.
Proceedings of the RAM-SE'07-ECOOP'07 Workshop on Reflection, 2007

cJ: enhancing java with safe type conditions.
Proceedings of the 6th International Conference on Aspect-Oriented Software Development, 2007

2006
Adaptive Caches: Effective Shaping of Cache Behavior to Workloads.
Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-39 2006), 2006

DSD-Crasher: a hybrid analysis tool for bug finding.
Proceedings of the ACM/SIGSOFT International Symposium on Software Testing and Analysis, 2006

Easy language extension with meta-aspectJ.
Proceedings of the 28th International Conference on Software Engineering (ICSE 2006), 2006

Dynamically discovering likely interface invariants.
Proceedings of the 28th International Conference on Software Engineering (ICSE 2006), 2006

Transparent program transformationsin the presence of opaque code.
Proceedings of the Generative Programming and Component Engineering, 2006

2005
Appletizing: Running Legacy Java Code Remotely from a Web Browser.
Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM 2005), 2005

Binary refactoring: improving code behind the scenes.
Proceedings of the 27th International Conference on Software Engineering (ICSE 2005), 2005

Check 'n' crash: combining static checking and testing.
Proceedings of the 27th International Conference on Software Engineering (ICSE 2005), 2005

2004
JCrasher: an automatic robustness tester for Java.
Softw. Pract. Exp., 2004

Automatic Partitioning: Prototyping Ubiquitous-Computing Applications.
IEEE Pervasive Comput., 2004

Functional programming with the FC++ library.
J. Funct. Program., 2004

Program Generators and the Tools to Make Them.
Proceedings of the Static Analysis, 11th International Symposium, 2004

Invited talk: program generators and the tools to make them.
Proceedings of the 6th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming, 2004

Program generators and the tools to make them.
Proceedings of the 2004 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2004

Portable and Efficient Distributed Threads for Java.
Proceedings of the Middleware 2004, 2004

General adaptive replacement policies.
Proceedings of the 4th International Symposium on Memory Management, 2004

Generating AspectJ Programs with Meta-AspectJ.
Proceedings of the Generative Programming and Component Engineering: Third International Conference, 2004

2003
Flexible reference trace reduction for VM simulations.
ACM Trans. Model. Comput. Simul., 2003

The EELRU adaptive replacement algorithm.
Perform. Evaluation, 2003

Aspectizing Server-Side Distribution.
Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE 2003), 2003

A Personal Outlook on Generator Research (A Position Paper).
Proceedings of the Domain-Specific Program Generation, International Seminar, 2003

2002
Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs.
ACM Trans. Softw. Eng. Methodol., 2002

FC++: Functional tools for object-oriented tasks.
Softw. Pract. Exp., 2002

Layered Development with (Unix) Dynamic Libraries.
Proceedings of the Software Reuse: Methods, 2002

Multiparadigm Programming with Object-Oriented Languages.
Proceedings of the Object-Oriented Technology, 2002

J-Orchestra: Automatic Java Application Partitioning.
Proceedings of the ECOOP 2002, 2002

2001
Functional Programming in C++ using the FC++ Library.
ACM SIGPLAN Notices, 2001

Multiparadigm Programming with OO Languages.
Proceedings of the Object-Oriented Technology ECOOP 2001 Workshop Reader, 2001

2000
Performing Replacement in Modem Pools.
Proceedings of the General Track: 2000 USENIX Annual Technical Conference, 2000

Object-oriented frameworks and product lines.
Proceedings of the Software Product Lines; Experiences and Research Directions, 2000

Functional programming in C++.
Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming (ICFP '00), 2000

Mixin-Based Programming in C++.
Proceedings of the Generative and Component-Based Software Engineering, 2000

1999
Architectural Styles as Adaptors.
Proceedings of the Software Architecture, 1999

The Case for Compressed Caching in Virtual Memory Systems.
Proceedings of the 1999 USENIX Annual Technical Conference, 1999

EELRU: Simple and Effective Adaptive Page Replacement.
Proceedings of the 1999 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, 1999

Trace Reduction for Virtual Memory Simulations.
Proceedings of the 1999 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, 1999

Scoping Constructs for Software Generators.
Proceedings of the Generative and Component-Based Software Engineering, 1999

Building Product-Lines with Mixin-Layers.
Proceedings of the Object-Oriented Technology, ECOOP'99 Workshop Reader, 1999

1998
Implementing reusable object-oriented components.
Proceedings of the Fifth International Conference on Software Reuse, 1998

JTS: tools for implementing domain-specific languages.
Proceedings of the Fifth International Conference on Software Reuse, 1998

Implementing Layered Object-Oriented Designs.
Proceedings of the Object-Oriented Technology, ECOOP'98 Workshop Reader, 1998

Implementing Layered Designs with Mixin Layers.
Proceedings of the ECOOP'98, 1998

1997
DiSTiL: A Transformation Library for Data Structures.
Proceedings of the Conference on Domain-Specific Languages, 1997


  Loading...