- University of Massachusetts Amherst
- Amherst, MA
- www.emeryberger.com
- @emeryberger
- @emeryberger@discuss.systems
- @emeryberger.bsky.social
Highlights
- Pro
Professor, Computer Science, Univ. of Massachusetts Amherst, Amazon Scholar at Amazon Web Services.My students, collaborators, and I in thePLASMA lab build innovative and impactful systems, especially focused on performance, reliability, and security. Among other things, I am the creator/maintainer ofhttps://CSrankings.org. For the academic year 2024/2025, I am splitting my time between UMass and Amazon.
- AI Software Should be More Like Plain Old Software (SIGARCH/SIGPLAN)
- Coping with CoPilot (SIGARCH/SIGPLAN)
- Drop Whatever You're Researching and Start Working on Crypto! (SIGARCH)
- A Checklist Manifesto for Empirical Evaluation (SIGARCH/SIGPLAN)
(SIGPLAN Empirical Evaluation Checklist PDF)
- PLASMA lab GitHub:
- Personal GitHub:
- Bluesky:@emeryberger.bsky.social
- Mastodon:
- Twitter:@emeryberger
- YouTube:
- emeryberger.com,Medium blog
- Publications:Google Scholar,DBLP
- 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
Selected software from me and my collaborators (for a full list, seePLASMA)
- Scalene: A state-of-the-art CPU+GPU+memory profiler for Python, with AI-powered optimization suggestions
- Coz: Acausal 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
Performance Matters (Strange Loop 2019)
The second most popular Strange Loop video of all time!
Python Performance Matters (Strange Loop 2022)
How to Get Your Research Adopted (PLDI keynote)
- 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 formalloc
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 scalablemalloc
. [software]incorporated into the Mac OS X allocator
Emery Berger is a Professor in theManning College of Information and Computer Sciences at theUniversity of Massachusetts Amherst, the flagship campus of the UMass system; he is also an Amazon Scholar. He graduated with aPh.D. in Computer Science from theUniversity of Texas at Austin in 2002. Professor Berger has been a Visiting Scientist atMicrosoft Research and at theUniversitat Politècnica de Catalunya (UPC) /Barcelona Supercomputing Center (BSC).
Professor Berger’s research spans programming languages, runtime systems, and operating systems, with a particular focus on systems that transparently improve reliability, security, and performance. He and his collaborators have created a number of influential software systems includingHoard, a fast and scalable memory manager that accelerates multithreaded applications (used by companies including British Telecom, Cisco, Crédit Suisse, Reuters, Royal Bank of Canada, SAP, and Tata, andon which the Mac OS X memory manager is based);DieHard, an error-avoiding memory manager thatdirectly influenced the design of the Windows 7 Fault-Tolerant Heap; and DieHarder, a secure memory manager that was an inspiration for hardening changes made to the Windows 8 heap (see this map of thelandscape of memory management research for an overview). He also created and maintains the widely-usedCSrankings website.
His honors include a Microsoft Research Fellowship, anNSF CAREER Award, a Lilly Teaching Fellowship, theDistinguished Artifact Award for PLDI 2014, theMost Influential Paper Award at OOPSLA 2012, theMost Influential Paper Award at PLDI 2016, theASPLOS 2019 Influential Paper Award,five SIGPLAN Research Highlights,five CACM Research Highlights (1,2,3,4,5), a Google Research Award, aMicrosoft SEIF Award, and Best Paper Awards atFAST,OOPSLA, andSOSP. Professor Berger served two terms (1,2) as an elected member of the SIGPLAN Executive Committee; he served for a decade (2007-2017) as Associate Editor of the ACM Transactions on Programming Languages and Systems, wasProgram Chair for PLDI 2016, and served asco-Program Chair of ASPLOS 2021. He was named anACM Fellow in 2019.
PinnedLoading
- plasma-umass/scalene
plasma-umass/scalene PublicScalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python with AI-powered optimization proposals
- CSrankings
CSrankings PublicA web app for ranking computer science departments according to their research output in selective venues, and for finding active faculty across a wide range of areas.
If the problem persists, check theGitHub status page orcontact support.