lmeyerov at cs dot berkeley
Par Lab | Soda Hall
Bio
I am a first second year graduate student at Berkeley studying
programming systems.
I have been working with Ras Bodik as a member of the Par Lab, with secondary projects with Raluca Sauciuc, and, more recently, Adrienne Felt.
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 researching how to improve clientside web programs. Programmer productivity, security, performance, and correctness all need help. Recently, I've been working on a parallel CSS implementation, getting over the data wall, and exposing applications to search engines. Around February, the CSS should be done, and I'll get back to parallel scripting :)
Current (Web) Projects
- Indexing Web Applications (with Raluca Sauciuc and friends)
- Parallel Web Browser: languages, libraries, and architecture (with Chris Jones, Ras Bodik, and friends
-- blog, in submission x 2, contact for slides/drafts)
- essential css semantics (contact for draft)
- parallel essential css implementation (with Chan Siu Man, Chan Siu On)
- parallel scripting language
- TCB-Free Web Applications: securing the DOM and storming the data wall (with Adrienne Felt)
Recent Projects
- Perceiving the GUISE: Graphical User Interface Specification Extraction (with Raluca Sauciuc -- in submission, contact for draft)
- Class Projects: structural type-feedback, modern back button, automated web testing
- Playing with FIRE: Mixing Functional and Imperative Reactivity in ECMAScript (at Adobe's Advanced Technology Labs -- contact for paper)
- Flapjax: Functional Reactive Web Programming (with Greg Cooper and Michael Greenberg -- thesis draft, slides, project site)
(We never submitted any papers, so folks typically cite my thesis or our website.)
Older Projects
- Security policy modeling and verification with ASMs: the trick was actually getting ASMs to compose consistently (with Joel Weinberger, Colin Gordon, and Shriram Krishnamurthi -- ASM '07 pdf draft)
- Margrave: interactive security policy analysis and change-impact analysis tool (with Michael Tschantz, Kathi Fisler, and Shriram Krishnamurthi -- ICSE '05 pdf)
- sentence clustering (as opposed to word or phrase, operating at a significantly higher scale; with Kim Burchett and Ryan Tarpine)
- scale-free process usage in single-user environments
- bezier curve flash library (way long ago)
External Publications
- 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)
External Presentations
- Intel Languages Workshop: Update on the Parallel Browser Language (2008)
- BayFP: Flapjax & FIRE - Evolving a Reactive Web Language (industry, 2008). video!
- OSQ Retreat, Par Lab Retreat: Web Dwarfs (Berkeley/Stanford/industry, 2008)
- Mozilla: Implicitly parallel browser scripting (all-hands talk, 2008)
- Par Lab Retreat: Implicitly parallel browser scripting (Berkeley/industry, poster session, 2008)
- Adobe: Mixed Imperative and Functional Reactive Programming in Flex and AS3 (intern poster session and Flex team talk, 2007)
- Adobe: Flapjax: Functional Reactive Web Programming (Flex team talk, 2006)
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
Subreviewer
APLAS 2008, ASPLOS 2008, PPDP 2007
Teaching
I was the teaching assistant for CS164, the undergrad compilers course at Berkeley. Overall class ratings were on teaching effectiveness and worth of the course; Prof. Bodik and I broke course records in both leading back 15 years. Considering it was on the joyous topic of languages and compilers, I must thank the recognized monstrousity that is modern web programming -- gracias, internets.
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).
Languages
I always find it interesting to know what languages language designers actually use.
Over the past year, I rather equivalently wrote in
JavaScript 1.5,
ActionScript 3,
Bash + sed,
OCaml,
R,
Python, and
Java 1.5.
The ActionScript and JavaScript projects often included snippets in the
functional reactive style. Contrast this against what I don't use. Even considering my time in commerical development, the only times I
used C or C++ were to interface to existing code bases, complete Operating Systems projects, or
whatever misguided things one does while in high school. I found lazy languages (Haskell),
logic and specification languages (Prolog, Alloy), data flow languages (Max/MSP, shell), and metaprogramming rich languages (Scheme)
formative, and writing Flapjax made me often appreciate many of their features that JavaScript did
not have (particuarly statically typed parametric polymorphism, delimited continuations, minimalistic syntax, and
hygienic macros), but, as implied above, find that I generally only turn to them out of curiosity. If the CLR lost a lot of proprietary restrictions, and otherwise gained the universality of the JVM, I would probably switch from Java to the F#/C# family. Laziness is probably what's keeping me from Scala (of my own, not to imply the language isn't eager...).
Ultimately, I believe Iota is the most clean and unambigious language.
Update:
As I've been mostly reading this semester, my code writing has been equally distributed between C, MPI for C, SK combinators, R (the Lisp of the Matlab universe), untyped lambdas, LaTeX, and, nominally, UPC and OpenMP. To a lesser extent, I converted some Flapjax examples to FIRE, my reactivity extension for ECMAScript 3.5 (including side effects).
Update 2:
The semester is drawing to a close, and now I am writing in a mix of ANTLR 3, Python, Java, Bash, and JavaScript. This will likely be mixed in with MPI over either C or O'CAML. Inbetween the updates, I wrote way too much LaTeX.
Update 3:
LaTeX, HTML/CSS, JavaScript/XUL/SQL, O'CAML, Manticore, and attribute grammars.
Cool Papers
I am currently not including papers I read before starting this list. List started 11/12/08. Related works sections of my papers provide some hints for those :) These papers changed my perspective in a non-trivial way.
Graduate Coursework
Berkeley: 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, and neuro+cogsci, in that order of likeliness.
Paper Pals
(chronological)
- Shriram Krishnamurthi (Brown)
- Kathi Fisler (WPI)
- Michael Tschantz (Brown, now @ CMU)
- Michael Greenberg (Brown, now @ U. Penn.)
- Greg Cooper (Brown, now @ ITA)
- Joel Weinberger (Brown, now @ Berkeley)
- Colin Gordon (Brown)
- Roger Webster (Adobe's Advanced Technology Labs)
- Ras Bodik (Berkeley)
- Chris Jones (Berkeley)
- Rose Liu (Berkeley)
- Krste Asanovic (Berkeley/ICSI/LBNL)
- Raluca Sauciuc (Berkeley)
- Chan Siu Man (Berkeley)
- Chan Siu On (Berkeley)
Further Meyerovichs
- Papa Bear discusses quantum and zero temperature physics
- Sister Bear discusses making the world a provably safer place