- Emery Berger: PLASMA lab advisor
- YouTube:
- emeryberger.com, Medium blog
- Scalene: A state-of-the-art CPU+GPU+memory profiler for Python, with AI-powered optimization suggestions
- Coz: A causal profiler that tells you where to optimize your code (C/C++/Rust/Swift/Java) (just counting Rust crate downloads)
- CSrankings: Ranks the world's CS departments
- Slipcover: Nearly zero-overhead code coverage analysis for Python
- ChatDBG: AI-assisted debugging in
lldb
,gdb
, andpdb
. Uses AI to answer 'why' - Commentator: Automatically comments Python code, adding docstrings and type annotations
- CWhy: ("See why") Explains and suggests fixes for C/C++/Rust compiler error messages.
- SQLwrite: SQLite3 with natural language to SQL, recommends indexes to optimize queries
See this DBLP entry for a complete list of PLASMA papers co-authored by Emery Berger.
- Triangulating Python Performance with Scalene (OSDI 2023, Best Paper Award) Introduces Scalene, a profiler that highlights Python performance issues. [software]
- Coz: Finding Code that Counts with Causal Profiling (Best Paper Award SOSP 2015, CACM Research Highlight) Introduces causal profiling and the Coz profiler. [software]
- Mesh: Compacting Memory Management for C/C++ Applications (PLDI 2019)
A drop-in replacement for
malloc
that eliminates fragmentation. [software] - BLeak: Automatically Debugging Memory Leaks in Web Applications (PLDI 2018, CACM Research Highlight) Detects memory leaks in web applications automatically. [software] incorporated into Android Studio
- Stabilizer: Statistically Sound Performance Evaluation (ASPLOS 2013) Randomizes everything to see if performance changes are real. incorporated into WebAssembly benchmarking infrastructure
- Reconsidering Custom Memory Allocation (OOPSLA 2012, Most Influential Paper) Shows which kinds of custom memory allocators are useful for improving performance (TL;DR - not many).
- Hoard: A Scalable Memory Allocator for Multithreaded Applications (ASPLOS 2000, ASPLOS Most Influential Paper)
The first scalable
malloc
. [software] incorporated into the Mac OS X allocator
- Dan Barowy, Williams College
- Charlie Curtsinger, Grinnell College
- Matthew Hertz, University of Buffalo
- Tongping Liu, ByteDance
- Gene Novark, "Quantitative Hedge Fund"
- John Vilk, Stripe
- Ting Yang, Meta (co-advised with Eliot Moss)
- Justin Aquadro, MachineMetrics
- Breanna Devore-McDonald, Untether AI
- Yi Feng, Google
- Nitin Gupta, Netflix
- Vitaly Lvin, Google
- Bobby Powers, Stripe
- CoverUp: Coverage-Guided LLM-Based Test Generation. - Juan Altmayer Pizzorno, Emery D. Berger, arXiv 2024
- ChatDBG: An AI-Powered Debugging Assistant. - Kyla Levin, Nicolas van Kempen, Emery D. Berger, Stephen N. Freund, arXiv 2024
- SlipCover: Near Zero-Overhead Code Coverage for Python. - Juan Altmayer Pizzorno, Emery D. Berger, ISSTA 2023
- Triangulating Python Performance Issues with SCALENE. - Emery D. Berger, Sam Stern, Juan Altmayer Pizzorno, OSDI 2023
- PlanAlyzer: assessing threats to the validity of online experiments. - Emma Tosch, Eytan Bakshy, Emery D. Berger, David D. Jensen, J. Eliot B. Moss, CACM Research Highlight 2021
- BLeak: automatically debugging memory leaks in web applications. - John Vilk, Emery D. Berger, CACM Research Highlight 2020
- Mossad: defeating software plagiarism detection. - Breanna Devore-McDonald, Emery D. Berger, OOPSLA 2020
- Scalene: Scripting-Language Aware Profiling for Python. - Emery D. Berger, No Venue 2020
- GOTO rankings considered helpful. - Emery D. Berger, Stephen M. Blackburn, Carla E. Brodley, H. V. Jagadish, Kathryn S. McKinley, Mario A. Nascimento, Minjeong Shin, Kuansan Wang, Lexing Xie, CACM 2019
- On the Impact of Programming Languages on Code Quality: A Reproduction Study. - Emery D. Berger, Celeste Hollenbeck, Petr Maj, Olga Vitek, Jan Vitek, TOPLAS 2019
- Mesh: compacting memory management for C/C++ applications. - Bobby Powers, David Tench, Emery D. Berger, Andrew McGregor 0001, PLDI 2019
- Tea: A High-level Language and Runtime System for Automating Statistical Analysis. - Eunice Jun, Maureen Daum, Jared Roesch, Sarah E. Chasins, Emery D. Berger, René Just, Katharina Reinecke, UIST 2019
- Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code. - Abhinav Jangda, Bobby Powers, Emery D. Berger, Arjun Guha, USENIX ATC 2019
- On the Impact of Programming Languages on Code Quality. - Emery D. Berger, Celeste Hollenbeck, Petr Maj, Olga Vitek, Jan Vitek, TOPLAS 2019
- ExceLint: Automatically Finding Spreadsheet Formula Errors. - Daniel W. Barowy, Emery D. Berger, Benjamin G. Zorn, OOPSLA 2019
- PlanAlyzer: Assessing Threats to the Validity of Online Experiments. - Emma Tosch, Eytan Bakshy, Emery D. Berger, David D. Jensen, J. Eliot B. Moss, CACM Research Highlight 2019
- Effectiveness of anonymization in double-blind review. - Claire Le Goues, Yuriy Brun, Sven Apel, Emery D. Berger, Sarfraz Khurshid, Yannis Smaragdakis, CACM 2018
- Coz: finding code that counts with causal profiling. - Charlie Curtsinger, Emery D. Berger, CACM Research Highlight 2018
- CRIMES: Using Evidence to Secure the Cloud. - Sundaresan Rajasekaran, Harpreet Singh Chawla, Zhen Ni, Neel Shah, Emery D. Berger, Timothy Wood 0001, Middleware 2018
- BLeak: automatically debugging memory leaks in web applications. - John Vilk, Emery D. Berger, PLDI 2018
- GOTO Rankings Considered Helpful. - Emery D. Berger, Stephen M. Blackburn, Carla E. Brodley, H. V. Jagadish, Kathryn S. McKinley, Mario A. Nascimento, Minjeong Shin, Lexing Xie, CACM 2018
- McFly: Time-Travel Debugging for the Web. - John Vilk, Emery D. Berger, James Mickens, Mark Marron, arXiv 2018
- Browsix: Bridging the Gap Between Unix and the Browser. - Bobby Powers, John Vilk, Emery D. Berger, ASPLOS 2017
- VoxPL: Programming with the Wisdom of the Crowd. - Daniel W. Barowy, Emery D. Berger, Daniel G. Goldstein, Siddharth Suri, CHI 2017
- Effectiveness of Anonymization in Double-Blind Review. - Claire Le Goues, Yuriy Brun, Sven Apel, Emery D. Berger, Sarfraz Khurshid, Yannis Smaragdakis, CACM 2017
- AutoMan: a platform for integrating human-based and digital computation. - Daniel W. Barowy, Charlie Curtsinger, Emery D. Berger, Andrew McGregor 0001, CACM Research Highlight 2016
- Scalable Cloud Security via Asynchronous Virtual Machine Introspection. - Sundaresan Rajasekaran, Zhen Ni, Harpreet Singh Chawla, Neel Shah, Timothy Wood 0001, Emery D. Berger, HotCloud 2016
- DoubleTake: fast and precise error detection via evidence-based dynamic analysis. - Tongping Liu, Charlie Curtsinger, Emery D. Berger, ICSE 2016
- Prioritized garbage collection: explicit GC support for software caches. - Diogenes Nunez, Samuel Z. Guyer, Emery D. Berger, OOPSLA 2016
- COZ: Finding Code that Counts with Causal Profiling. - Charlie Curtsinger, Emery D. Berger, USENIX ATC 2016
- Sweet Spots and Limits for Virtualization. - Carl A. Waldspurger, Emery D. Berger, Abhishek Bhattacharjee, Kevin T. Pedretti, Simon Peter 0001, Christopher J. Rossbach, VEE 2016
- DoubleTake: Fast and Precise Error Detection via Evidence-Based Dynamic Analysis. - Tongping Liu, Charlie Curtsinger, Emery D. Berger, No Venue 2016
- Systems Computing Challenges in the Internet of Things. - Rajeev Alur, Emery D. Berger, Ann W. Drobnis, Limor Fix, Kevin Fu, Gregory D. Hager, Daniel P. Lopresti, Klara Nahrstedt, Elizabeth D. Mynatt, Shwetak N. Patel, Jennifer Rexford, John A. Stankovic, Benjamin G. Zorn, No Venue 2016
- Coz: Finding Code that Counts with Causal Profiling. - Charlie Curtsinger, Emery D. Berger, No Venue 2016
- Prioritized Garbage Collection: Explicit GC Support for Software Caches. - Diogenes Nunez, Samuel Z. Guyer, Emery D. Berger, No Venue 2016
- Coz: finding code that counts with causal profiling. - Charlie Curtsinger, Emery D. Berger, SOSP 2015
- SurveyMan: programming and automatically debugging surveys. - Emma Tosch, Emery D. Berger, OOPSLA 2014
- CheckCell: data debugging for spreadsheets. - Daniel W. Barowy, Dimitar Gochev, Emery D. Berger, OOPSLA 2014
- Doppio: breaking the browser language barrier. - John Vilk, Emery D. Berger, PLDI 2014
- PREDATOR: predictive false sharing detection. - Tongping Liu, Chen Tian 0002, Ziang Hu, Emery D. Berger, PPoPP 2014
- PROARTIS: Probabilistically Analyzable Real-Time Systems. - Francisco J. Cazorla, Eduardo Quiñones, Tullio Vardanega, Liliana Cucu, Benoit Triquet, Guillem Bernat, Emery D. Berger, Jaume Abella 0001, Franck Wartel, Michael Houston, Luca Santinelli, Leonidas Kosmidis, Code Lo, Dorin Maxim, No Venue 2013
- STABILIZER: statistically sound performance evaluation. - Charlie Curtsinger, Emery D. Berger, ASPLOS 2013
- Probabilistic timing analysis on conventional cache designs. - Leonidas Kosmidis, Charlie Curtsinger, Eduardo Quiñones, Jaume Abella 0001, Emery D. Berger, Francisco J. Cazorla, DATE 2013
- AutoMan: a platform for integrating human-based and digital computation. - Daniel W. Barowy, Charlie Curtsinger, Emery D. Berger, Andrew McGregor 0001, OOPSLA 2012
- SHERIFF: precise detection and automatic mitigation of false sharing. - Tongping Liu, Emery D. Berger, OOPSLA 2011
- Dthreads: efficient deterministic multithreading. - Tongping Liu, Charlie Curtsinger, Emery D. Berger, SOSP 2011
- DieHarder: securing the heap. - Gene Novark, Emery D. Berger, CCS 2010
- Using Randomized Caches in Probabilistic Real-Time Systems. - Eduardo Quiñones, Emery D. Berger, Guillem Bernat, Francisco J. Cazorla, ECRTS 2009
- Grace: safe multithreaded programming for C/C++. - Emery D. Berger, Ting Yang, Tongping Liu, Gene Novark, OOPSLA 2009
- Efficiently and precisely locating memory leaks and bloat. - Gene Novark, Emery D. Berger, Benjamin G. Zorn, PLDI 2009
- Exterminator: Automatically correcting memory errors with high probability. - Gene Novark, Emery D. Berger, Benjamin G. Zorn, CACM Research Highlights 2008
- Archipelago: trading address space for reliability and security. - Vitaliy B. Lvin, Gene Novark, Emery D. Berger, Benjamin G. Zorn, ASPLOS 2008
- Redline: First Class Support for Interactivity in Commodity Operating Systems. - Ting Yang, Tongping Liu, Emery D. Berger, Scott F. Kaplan, J. Eliot B. Moss, OSDI 2008
- Contributing storage using the transparent file system. - James Cipar, Mark D. Corner, Emery D. Berger, No Venue 2007
- TFS: A Transparent File System for Contributory Storage. - James Cipar, Mark D. Corner, Emery D. Berger, FAST 2007
- Exterminator: automatically correcting memory errors with high probability. - Gene Novark, Emery D. Berger, Benjamin G. Zorn, PLDI 2007
- Eon: a language and runtime system for perpetual systems. - Jacob Sorber, Alexander Kostadinov, Matthew Garber, Matthew Brennan, Mark D. Corner, Emery D. Berger, SenSys 2007
- CRAMM: Virtual Memory Support for Garbage-Collected Applications. - Ting Yang, Emery D. Berger, Scott F. Kaplan, J. Eliot B. Moss, OSDI 2006
- DieHard: probabilistic memory safety for unsafe languages. - Emery D. Berger, Benjamin G. Zorn, PLDI 2006
- Transparent Contribution of Memory. - James Cipar, Mark D. Corner, Emery D. Berger, USENIX ATC, General Track 2006
- Flux: A Language for Programming High-Performance Servers. - Brendan Burns, Kevin Grimaldi, Alexander Kostadinov, Emery D. Berger, Mark D. Corner, USENIX ATC, General Track 2006
- A locality-improving dynamic memory allocator. - Yi Feng, Emery D. Berger, Memory System Performance 2005
- Quantifying the performance of garbage collection vs. explicit memory management. - Matthew Hertz, Emery D. Berger, OOPSLA 2005
- Garbage collection without paging. - Matthew Hertz, Yi Feng, Emery D. Berger, PLDI 2005
- Automatic heap sizing: taking real memory into account. - Ting Yang, Matthew Hertz, Emery D. Berger, Scott F. Kaplan, J. Eliot B. Moss, ISMM 2004
- MC2 - Narendran Sachindran, J. Eliot B. Moss, Emery D. Berger, OOPSLA 2004
- Reconsidering custom memory allocation. - Emery D. Berger, Benjamin G. Zorn, Kathryn S. McKinley, OOPSLA 2002