About

I am a faculty member in the Computer Science Department at the Technion and CTO at Tabnine. My research focuses on the intersection of programming languages, machine learning, and software engineering, with a particular emphasis on program synthesis and learning from large-scale code repositories.

Research Interests

  • Program Synthesis
  • Machine Learning for Code
  • Program Analysis
  • Abstract Interpretation
  • Verification
  • Programming Languages
  • Software Engineering

Selected Publications

  • ACL 2023 On the Expressivity Role of LayerNorm in Transformers' Attention Shaked Brody, Uri Alon, Eran Yahav
    arXiv Code Video
  • FSE 2023 Towards AI-Driven Software Development: Challenges and Lessons from the Field (Keynote) Eran Yahav
    Video
  • ICLR 2022 How Attentive are Graph Attention Networks? Shaked Brody, Uri Alon, Eran Yahav
    arXiv Code Video
  • ICLR 2021 On the Bottleneck of Graph Neural Networks and its Practical Implications Uri Alon, Eran Yahav
    arXiv Video Code
  • ICML 2021 Thinking Like Transformers Gail Weiss, Yoav Goldberg, Eran Yahav
    arXiv Video Blog Code
  • OOPSLA 2020 Programming with a Read-Eval-Synth Loop Hila Peleg, Roi Gabbay, Shachar Itzhaky, Eran Yahav
    Paper Video
  • OOPSLA 2020 Adversarial Examples for Models of Code Noam Yefet, Uri Alon, Eran Yahav
    arXiv Code Video
  • OOPSLA 2020 Neural Edit Completion Shaked Brody, Uri Alon, Eran Yahav
    arXiv
  • OOPSLA 2020 Neural Reverse Engineering of Stripped Binaries Yaniv David, Uri Alon, Eran Yahav
    arXiv
  • ACL 2020 A Formal Hierarchy of RNN Architectures William Merrill, Gail Weiss, Yoav Goldberg, Roy Schwartz, Noah A. Smith, Eran Yahav
    arXiv
  • ICML 2020 Structural Language Models of Code Uri Alon, Roy Sadaka, Omer Levy, Eran Yahav
    arXiv Video
  • ICLR 2019 code2seq: Generating Sequences from Structured Representations of Code Uri Alon, Omer Levy, Eran Yahav
    arXiv Demo
  • POPL 2019 code2vec: Learning Distributed Representations of Code Uri Alon, Meital Zilberstein, Omer Levy, Eran Yahav
    arXiv Demo Video
  • NeurIPS 2019 Learning Deterministic Weighted Automata with Queries and Counterexamples Gail Weiss, Yoav Goldberg, Eran Yahav
    arXiv Code
  • ICML 2018 Extracting Automata from Recurrent Neural Networks Using Queries and Counterexamples Gail Weiss, Yoav Goldberg, Eran Yahav
    arXiv Video
  • ACL 2018 On the Practical Computational Power of Finite Precision RNNs for Language Recognition Gail Weiss, Yoav Goldberg, Eran Yahav
    arXiv Video
  • PLDI 2018 A General Path-Based Representation for Predicting Program Properties Uri Alon, Meital Zilberstein, Omer Levy, Eran Yahav
    arXiv
  • ICSE 2018 Programming Not Only By Example Hila Peleg, Sharon Shoham, Eran Yahav
    arXiv
  • VMCAI 2018 Generating Tests by Example Hila Peleg, Dany Rasin, Eran Yahav
    PDF
  • ASPLOS 2018 Statistical Reconstruction of Class Hierarchies in Binaries Omer Katz, Noam Rinetzky, Eran Yahav
    Paper
  • ASPLOS 2018 FirmUp: Precise Static Detection of Common Vulnerabilities in Firmware Yaniv David, Nimrod Partush, Eran Yahav
    Paper
  • PLDI 2017 Similarity of Binaries through Re-optimization Yaniv David, Nimrod Partush, Eran Yahav
    Paper
  • CAV 2017 Synthesis with Abstract Examples Dana Drachsler-Cohen, Sharon Shoham, Eran Yahav
    Paper
  • COLT 2017 Learning Disjunctions of Predicates Nader Bshouty, Dana Drachsler-Cohen, Martin Vechev, Eran Yahav
    arXiv
  • WSDM 2017 Synthesis of Forgiving Data Extractors Adi Omari, Sharon Shoham, Eran Yahav
    Paper
  • ONWARD 2016 Extracting Code from Programming Tutorial Videos Shir Yadid, Eran Yahav
    PDF
  • ONWARD 2016 Leveraging a Corpus of Natural Language Descriptions for Program Similarity Meital Zilberstein, Eran Yahav
    PDF
  • KDD 2016 Lossless Separation of Web Pages into Layout Code and Data Adi Omari, Benny Kimelfeld, Sharon Shoham, Eran Yahav
    PDF
  • PLDI 2016 Statistical Similarity of Binaries Yaniv David, Nimrod Partush, Eran Yahav
    Paper
  • POPL 2016 Estimating Types in Binaries using Predictive Modeling Omer Katz, Ran El-Yaniv, Eran Yahav
    Paper
  • ICSE 2016 Cross-Supervised Synthesis of Web-Crawlers Adi Omari, Sharon Shoham, Eran Yahav
    PDF
  • VMCAI 2016 D3: Data-Driven Disjunctive Abstraction Hila Peleg, Sharon Shoham, Eran Yahav
    PDF
  • OBT 2015 Code Similarity via Natural Language Descriptions Meital Ben-Sinai, Eran Yahav
    PDF
  • VMCAI 2015 Effective Abstractions for Verification under Relaxed Memory Models Andrei Dan, Yuri Meshman, Martin Vechev, Eran Yahav
    Paper
  • OOPSLA 2014 Abstract Semantic Differencing via Speculative Correlation Nimrod Partush, Eran Yahav
    Paper
  • PLDI 2014 Tracelet-Based Code Search in Executables Yaniv David, Eran Yahav
    Paper
  • PLDI 2014 Code Completion with Statistical Language Models Veselin Raychev, Martin Vechev, Eran Yahav
    Paper Video
  • PPOPP 2014 Practical Concurrent Binary Search Trees via Logical Ordering Dana Drachsler, Martin Vechev, Eran Yahav
    PDF
  • SAS 2014 Synthesis of Memory Fences via Refinement Propagation Yuri Meshman, Andrei Dan, Martin Vechev, Eran Yahav
    Paper

Selected Talks

The Unreasonable Effectiveness of AI in Software Development
Tech Talk
SE Radio 666: Eran Yahav on the Tabnine AI Coding Assistant
Software Engineering Radio, April 2025
Enhancing The Abilities Of Software Engineers With Generative AI
The Machine Learning Podcast, November 2023
AI-Assisted Development is Here to Stay
The Changelog #472, 2022
Tabnine with Eran Yahav
Software Engineering Daily, January 2022
AI for Code with Eran Yahav
Programming Throwdown #127, February 2022
Programming with Millions of Examples
ETH Distinguished Colloquium, December 2014
Abstractions for Relaxed Memory Models
EC² 2014
Abstraction-Guided Synthesis
VMCAI 2013
Synthesis of Synchronization
Summer School on Program Synthesis, August 2011
Practical Synthesis of Concurrent Programs
ARTIST Summer School 2009

Projects

Current

Past

Saint: Synthesis using Abstract Interpretation

Combining program synthesis with abstract interpretation for automatic program construction.

  • Synthesis
  • Abstract Interpretation

Dojo

Ensuring determinism of concurrent systems through systematic testing and verification.

  • Concurrency
  • Determinism

QVM: The Quality Virtual Machine

Leveraging VM technology to improve software quality through integrated dynamic analyses.

  • Dynamic Analysis
  • Virtual Machines

Paraglide: Search-Based Synthesis of Concurrent Programs

Construction mechanisms and tools for building correct and efficient concurrent systems.

  • Synthesis
  • Concurrency

PET: Parallelism-Enabling Toolset

Tools for enabling and verifying parallelism in software systems.

  • Parallelism
  • Verification

Software

Earlier Publications

  • SAS 2013 Automatic Synthesis of Deterministic Concurrency Veselin Raychev, Martin Vechev, Eran Yahav
    PDF
  • SAS 2013 Predicate Abstraction for Relaxed Memory Models Andrei Dan, Yuri Meshman, Martin Vechev, Eran Yahav
    PDF
  • SAS 2013 Abstract Semantic Differencing for Numerical Programs Nimrod Partush, Eran Yahav
    PDF
  • SAS 2013 Symbolic Automata for Specification Mining Hila Peleg, Sharon Shoham, Eran Yahav, Hongseok Yang
    PDF
  • PLDI 2013 Concurrent Libraries with Foresight Guy Gueta, G. Ramalingam, Mooly Sagiv, Eran Yahav
    PDF
  • FMCAD 2015 Pattern-based Synthesis of Synchronization for the C++ Memory Model Yuri Meshman, Noam Rinetzky, Eran Yahav
  • PPoPP 2015 Automatic Scalable Atomicity via Semantic Locking Guy Gueta, G. Ramalingam, Mooly Sagiv, Eran Yahav
  • ISSTA 2014 Verifying Atomicity via Data Independence Ohad Shacham, Eran Yahav, Guy Gueta, Alex Aiken, Nathan Bronson, Mooly Sagiv, Martin Vechev
  • PPoPP 2014 Automatic Semantic Locking Guy Gueta, G. Ramalingam, Mooly Sagiv, Eran Yahav
  • ISSTA 2013 Finding Rare Numerical Stability Errors in Concurrent Computations Hana Chockler, Karine Even, Eran Yahav
  • OOPSLA 2012 Typestate-Based Semantic Code Search over Partial Programs Alon Mishne, Sharon Shoham, Eran Yahav
    PDF
  • PLDI 2012 Dynamic Synthesis for Relaxed Memory Models Feng Liu, Nayden Nedev, Nedyalko Prisadnikov, Martin Vechev, Eran Yahav
    PDF
  • PLDI 2012 Scalable and Precise Dynamic Datarace Detection for Structured Parallelism Raghavan Raman, Jisheng Zhao, Vivek Sarkar, Martin Vechev, Eran Yahav
    PDF
  • SA-News 2012 FENDER: Fixing Fence Placement Michael Kuperstein, Martin Vechev, Eran Yahav
    PDF
  • OOPSLA 2011 Testing Atomicity of Composed Concurrent Operations Ohad Shacham, Nathan Bronson, Alex Aiken, Mooly Sagiv, Martin Vechev, Eran Yahav
    PDF
  • OOPSLA 2011 Automatic Fine-Grained Locking using Shape Properties Guy Gueta, Nathan Bronson, Alex Aiken, G. Ramalingam, Mooly Sagiv, Eran Yahav
    PDF
  • OOPSLA 2011 Asynchronous Assertions Eddie Aftandilian, Sam Guyer, Martin Vechev, Eran Yahav
    PDF
  • OOPSLA 2011 Automatic Prefetching by Traversal Profiling in Object Persistence Architectures Arun Raman, Greta Yorsh, Martin Vechev, Eran Yahav
    PDF
  • PLDI 2011 Partial-Coherence Abstractions for Relaxed Memory Models Michael Kuperstein, Martin Vechev, Eran Yahav
    PDF
  • POPL 2010 Abstraction-Guided Synthesis of Synchronization Martin Vechev, Eran Yahav, Greta Yorsh
    PDF
  • PODC 2010 Verifying Linearizability with Hindsight Peter O'Hearn, Noam Rinetzky, Martin Vechev, Eran Yahav, Greta Yorsh
    PDF
  • SAS 2010 Checking Determinism of Concurrent Systems Martin Vechev, Eran Yahav, Raghavan Raman, Vivek Sarkar
    PDF
  • RV 2010 Verifying Determinism of Concurrent Systems Best Paper Martin Vechev, Eran Yahav, Raghavan Raman, Vivek Sarkar
    PDF
  • FMCAD 2010 Automatic Fence Insertion for Relaxed Memory Models Michael Kuperstein, Martin Vechev, Eran Yahav
    PDF
  • ISMM 2010 Chameleon: Adaptive Selection of Collections Ohad Shacham, Martin Vechev, Eran Yahav
    PDF
  • PLDI 2009 Testing, Workload Generation, and Checking for Atomicity Violations Ohad Shacham, Martin Vechev, Eran Yahav
    PDF
  • TACAS 2009 Abstraction-Guided Synthesis of Synchronization Martin Vechev, Eran Yahav, Greta Yorsh
    PDF
  • SPIN 2009 Synthesis of Synchronization using Abstraction Martin Vechev, Eran Yahav, Greta Yorsh
    PDF
  • OOPSLA 2008 QVM: An Efficient Runtime for Detecting Defects in Deployed Systems Matt Arnold, Martin Vechev, Eran Yahav
    PDF
  • POPL 2008 Generating Precise and Concise Procedure Summaries Greta Yorsh, Eran Yahav, Satish Chandra
    PDF
  • PLDI 2008 Deriving Linearizable Fine-Grained Concurrent Objects Martin Vechev, Eran Yahav
    PDF
  • ISMM 2008 The CLOSER: Automating Resource Management in Java Isil Dillig, Thomas Dillig, Eran Yahav, Satish Chandra
    PDF
  • ISSTA 2008 Phalanx: Parallel Checking of Expressive Heap Assertions Martin Vechev, Eran Yahav, Greta Yorsh
    PDF
  • ISSTA 2008 Verifying Dereference Safety via Expanding-Scope Analysis Alexey Loginov, Eran Yahav, Satish Chandra, Stephen Fink, Noam Rinetzky, Mangala Gowri Nanda
    PDF
  • TSE 2008 Effective Typestate Verification in the Presence of Aliasing ISSTA 2019 Retrospective Impact Paper Award Stephen Fink, Eran Yahav, Nurit Dor, G. Ramalingam, Emmanuel Geay
    PDF
  • TOSEM 2008 Verifying Correct Usage of Atomic Blocks and Typestate Eran Yahav, Stephen Fink
    PDF
  • ISSTA 2007 Static Specification Mining Using Automata-Based Abstractions Best Paper & Pat Goldberg Award Sharon Shoham, Eran Yahav, Stephen Fink, Marco Pistoia
    PDF
  • CAV 2007 Comparison under Abstraction for Verifying Linearizability Daphna Amit, Noam Rinetzky, Thomas Reps, Mooly Sagiv, Eran Yahav
  • ICSE 2007 When Role Models Have Flaws: Static Validation of Enterprise Security Policies Marco Pistoia, Stephen Fink, Robert Flynn, Eran Yahav
  • ESOP 2007 Modular Shape Analysis for Dynamically Encapsulated Programs Noam Rinetzky, Arnd Poetzsch-Heffter, G. Ramalingam, Mooly Sagiv, Eran Yahav
  • SPIN 2007 Cartesian Partial-Order Reduction Guy Gueta, Cormac Flanagan, Eran Yahav, Mooly Sagiv
  • PLDI 2007 CGCExplorer: A Semi-Automated Search Procedure for Provably Correct Concurrent Collectors Martin Vechev, Eran Yahav, David Bacon, Noam Rinetzky
    PDF
  • ISSTA 2006 SAFE: Scalable and Flexible Error Detection Best Paper Eran Yahav, Stephen Fink
    PDF
  • PLDI 2006 Synthesis of Concurrent Garbage Collectors Martin Vechev, Eran Yahav
    PDF
  • PLDI 2006 Correctness-Preserving Derivation of Concurrent Garbage Collection Algorithms Martin Vechev, Eran Yahav, David Bacon
  • SAS 2005 Interprocedural Shape Analysis for Cutpoint-Free Programs Noam Rinetzky, Mooly Sagiv, Eran Yahav
  • VMCAI 2005 Predicate Abstraction and Canonical Abstraction for Singly-Linked Lists Roman Manevich, Eran Yahav, G. Ramalingam, Mooly Sagiv
  • PLDI 2004 Verifying Safety Properties Using Separation and Heterogeneous Abstractions Eran Yahav, G. Ramalingam
  • ESOP 2003 Verifying Temporal Heap Properties Specified via Evolution Logic Eran Yahav, Thomas Reps, Mooly Sagiv, Reinhard Wilhelm
    PDF
  • SAS 2003 Establishing Local Temporal Heap Safety Properties with Applications to Compile-Time Memory Management Ran Shaham, Eran Yahav, Elliot K. Kolodner, Mooly Sagiv
  • SAS 2003 Typestate Verification: Abstraction Techniques and Complexity Results John Field, Deepak Goyal, G. Ramalingam, Eran Yahav
  • ESOP 2003 Verification of Concurrent Programs with Future Values Eran Yahav, Mooly Sagiv
    PDF
  • SOFTMC 2003 Temporal Verification of Concurrent Programs Eran Yahav
    PDF
  • POPL 2001 Verifying Safety Properties of Concurrent Heap-Manipulating Programs Eran Yahav, Mooly Sagiv
    PDF
  • COOTS 1996 Compiler Optimization of C++ Virtual Function Calls David Bernstein, Yuri Fedorov, Sara Porat, Jose Rodrigue, Eran Yahav

Teaching

  • 236360 Theory of Compilation
  • 236610 Advanced Program Analysis
  • Seminar Program Synthesis
  • Seminar Reliable and Secure Software Systems
  • Project Software Projects in PL and Verification

Students

Current Students

  • Tom Rahav
  • Ido Ram

Past Students

  • PhD · Machine Learning for Programming Language Processing · Reynolds Doctoral Dissertation Award
    Google DeepMind
  • Shaked Brody
    PhD · Graph Neural Networks
  • Noam Yefet
    MSc · Adversarial Examples for Models of Code
  • PhD · RNNs and Formal Languages
    Postdoc, EPFL
  • PhD · Binary Similarity
    Faculty, Technion
  • PhD · Program Analysis
    Google
  • PhD · Program Synthesis
    Faculty, Technion
  • PhD 2012 · Programming with Millions of Examples
    Faculty, Tel-Aviv University
  • Michael Kuperstein
    PhD 2012 · Memory Model Correctness (with Martin Vechev)
    Waymo
  • PhD 2011 · Concurrent Operation Atomicity (with Mooly Sagiv)
    AWS
  • Alon Mishne
    MSc 2012 · Programming with Millions of Examples
    Google
  • PhD · Abstract Semantic Differencing
    VP AI, CYE
  • PhD · Exact Programming by Example
    Faculty, Technion EE
  • PhD · Relaxed Memory Models
  • Adi Omari
    PhD · Web Data Extraction
    Salesforce
  • MSc 2014 · Automatic Synchronization (with Mooly Sagiv)
  • Karine Even-Mendoza
    MSc 2013 · Numerical Stability in Concurrent Computations
    Lecturer, King's College London
  • MSc 2016 · Extracting Code from Tutorial Videos
    ML Team Lead, Taboola
  • MSc 2016 · Program Similarity via NL Descriptions
    Tabnine

Summer Interns & Visitors

  • Martin Vechev (Cambridge)
  • Greta Yorsh (TAU)
  • Noam Rinetzky (TAU)
  • Isil Dillig (Stanford)
  • Thomas Dillig (Stanford)
  • Raghavan Raman (Rice)
  • Nayden Nedev (Sofia)
  • Nedyalko Prisadnikov (Sofia)

Professional Service

Program Committee

  • POPL '11, '13, '15, '17, '20
  • PLDI '12, '13, '14, '15, '16, '17, '19
  • CAV '13, '14, '15, '16, '17, '18, '19
  • OOPSLA '10, '13, '15
  • VMCAI '12, '13, '14, '18
  • SAS '09, '12, '14
  • ESOP '13
  • APLAS '12, '15
  • SNAPL '15
  • ICML '18
  • COLT '17
  • WSDM '17

Conference Organization

  • PLDI '21 Program Chair
  • SAS '11 Program Chair
  • HVC '14 Program Chair
  • Dagstuhl Seminar on Software Synthesis (Co-organizer)

Workshop Organization

  • PSY '10, '11, '12
  • LFX 2010: Learning From eXperience

Awards & Honors

  • ACM SIGPLAN 2020 · For outstanding contributions to programming languages research
  • European Research Council
  • Alon Fellowship for Outstanding Young Researchers
    Israel Council for Higher Education
  • Andre Deloro Career Advancement Chair in Engineering
    Technion
  • Best Paper Award
    ISSTA 2007 · Also received Pat Goldberg Memorial Best Paper Award
  • Best Paper Award
    ISSTA 2006
  • Best Paper Award
    RV 2010 · Checking and Verifying Determinism