Bio
I am a first second year graduate student at Berkeley studying
programming systems.
Ras Bodik is my advisor and we work in the Par Lab.
Previously, I was a member of
Brown PLT, participating in several language design,
verification, and security projects with Shriram Krishnamurthi. I have also worked at a startup, Macromedia, Adobe's Advanced Technology Labs, and a commercial radio station.
I'm trying to make the web a better place by rethinking the core software architecture, particular with what runs in the client. We're reinventing web browsers.
Summer 2009: I'm working with Ben Livshits @ MSR Redmond on browser support for fine-grained web application security policies (e.g., the other half of the membrane paper).
Publications
Contact for drafts on more recent but unpublished work like crawling and understanding web applications (GUISE), fine-grained sharing of the DOM in browsers (membrane advice and policies), and my main focus, fast webpage layout algorithms (parallel browser).
- Leo Meyerovich. "Rethinking Browser Performance." USENIX ;login:, Aug. 2009, Volume 34, Number 4. (invited article, pdf coming in August)
- Leo Meyerovich, Arjun Guha, Jacob Baskin, Greg Cooper, Michael Greenberg, Aleks Bromfield, Shriram Krishnamurthi. 2009. Flapjax: A Programming Language for Ajax Applications. In Proceedings of the 24th ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications (Orlando, FL, USA, October 25-29, 2009). OOPSLA '09. ACM, New York, NY, ??-?? (see Brown TR CS-09-04)
- Chris Jones, Rose Liu, Leo Meyerovich, Krste Asanovic, Rastislav Bodik. Parallelizing the Web Browser. Proceedings of the 1st USENIX Workshop on Hot Topics in Parallelism (HotPar'09), Berkeley, CA. March 2009. (draft pdf))
- Colin Gordon, Leo Meyerovich, Joel Weinberger, and Shriram Krishnamurthi. Composition with Consistent Updates for Abstract State Machines. In Proceedings of the 14th International Workshop on Abstract State Machines (ASM'07), Grimstad, Norway. June 2007 (draft pdf, draft slides)
- Kathi Fisler, Shriram Krishnamurthi, Leo A. Meyerovich, Michael Carl Tschantz. Verification and Change-Impact Analysis of Access-Control Policies. In Proceedings of the 27th International Conference on Software Engineering (ICSE'05), St. Louis, USA. May 2005 (pdf, project site)
Never-to-be-published
One measure of research is what you do not write about :) A taste of life at Berkeley and beyond:
- Finding Once-a-Year Concurrency Bugs is Provably Easy: birthday attacks on heisenbugs (proof + talk, 2009)
- automated web gui testing (2008, reenvisioned with the GUISE project). fun hackery: involved a python/MPI multicore cloud layer!
- modern back button: continuation-based web server idea applied to client apps (survey + proposal, 2008)
- web dwarfs: challenge applications for future web browsers and frameworks (2008)
- structural type-feedback: dynamically learning likely javascript object shapes (2007)
- Playing with FIRE: Mixing Functional and Imperative Reactivity in ECMAScript (at Adobe's Advanced Technology Labs, 2007)
- sentence clustering (as opposed to word or phrase, operating at a significantly higher scale; with Kim Burchett and Ryan Tarpine, 2006?)
- DOM-lifting: destructive updates for functional reactive libraries (e.g., what makes Flapjax fast, 2006)
- scale-free process usage in single-user environments (2006?)
- bezier curve flash library (way long ago; new Flash APIs make this partially obsolete)
Talks
- Upcoming: OOPSLA (Flapjax, October 27th, 2009)
- Upcoming: Adobe (?, September 3rd, 2009)
- OSQ Retreat: GUISE: Extracting User Control-Flow Graphs from Web Apps (May, 2009)
- #moz09 (Mozilla): It's the End of the Web as We Know It, and I Feel Fine (invited all-hands talk, April 30, 2009). contact for slides.
- CodeCon 2009: The Parallel Web Browser (biohackers and cypherpunks, April 19th, 2009). pdf slides (but without videos)
- HotPar 2009: The Parallel Web Browser (April, 2009)
- Samsung Research: Parallel Webpage Layout (invited seminar, February, 2009)
- Par Lab Retreat: Parallel Webpage Layout (Berkeley/industry, January, 2009). pdf slides
- Intel Languages Workshop: Update on the Parallel Browser Language (industry, 2008)
- BayFP: Flapjax & FIRE - Evolving a Reactive Web Language (industry, 2008). video!
- OSQ Retreat, Par Lab Retreat: Web Dwarfs (Berkeley/Stanford/industry, 2008)
- #moz08 (Mozilla): Implicitly parallel browser scripting (invited all-hands talk, 2008)
- Adobe: Mixed Imperative and Functional Reactive Programming in Flex and AS3 (research staff review + Flex team talk, 2007)
- Adobe: Flapjax: Functional Reactive Web Programming (Flex team talk, 2006)
Internal Talks
Random fun and controversial talks @ Berkeley not covered by the above.
- Finding Once-a-Year Concurrency Bugs is Provably Easy: birthday attacks on heisenbugs (Par Lab student seminar, February, 2009)
- Spidering Applications (OSQ seminar, 2008)
Some External Presentations by Better Presenters
- Ras Bodik on the parallel browser project: STMCS 2008 keynote, Intel Browser Performance Workshop 2008, ...
- Shriram Krishnamurthi on the Flapjax language: SBLP 2008 keynote, Microsoft Lang.NET Symposium 2006 (in part: video), JAOO 2007, etc.
- Shriram Krishnamurthi on the Margrave tool and query system: a mystery!
Technical Reports
(citations coming...)
- ASM composition + security modeling
- Soundness and completeness of Margrave
- Flapjax thesis and probably some parallel browser things
Awards and Support
Will try to find the correct list, but the browser project is being supported by wonderful folks at Samsung, Nokia, Intel, and Microsoft through direct grants and indirectly through the Par Lab.
- National Science Foundation Graduate Fellowship (NSF GRFP), 2007
- UC Berkeley First Year Fellowship, 2007
- Computer Research Association Outstanding Undergraduate Honorable Mention (CRA), 2007
- Karen. T. Romer Undergraduate Teaching and Research Award (UTRA), 2004
Subreviewer
APLAS 2008, ASPLOS 2008, PPDP 2007
Teaching
I was the teaching assistant for CS164, the undergrad compilers course at Berkeley. Prof. Bodik and I broke course records in class ratings leading back 15 years.
At Brown, I was the head teaching assistant for intro. to models of computation (cs51) and intro. programming language theory (cs173), was a regular TA for discrete math (cs22), and wrote lectures and projects for the new systems security course (cs166).
Graduate Coursework
Berkeley: Foundations of Parallel and Distrubted Systems (Algorithms), Highly Productive Parallel Programming Languages, Statistical Learning Theory, Current Berkeley Research in Programming Systems, Design and Analysis of Programming Languages, Applications of Parallel Computers, Advanced Systems and DBs, Web Security.
Brown: Programming Language Semantics, Access Control Models, Statistical Natural Language Processing, Verification of Dynamic Access Control Policies.
My undergraduate coursework was mostly in computer science, math (analytic), and brains (neuro/cogsci), in that order of likeliness.
Further Meyerovichs
- Papa Bear discusses quantum and zero temperature physics
- Sister Bear discusses making the world a provably safer place
Code
Parallel Browser Project page
JavaScript/Web Page Membranes Benchmarks will be here soon and the code (or a variant) should appear in Google Caja
GUISE Unfortunately, chances are, unless I know you, I can't release code for these yet.
Flapjax The core is at the main site and GitHub. I whipped up a clean REPL with a slightly modified library as well.
Anything else Ask; I probably have it floating around somewhere.