Donna M. Malayeri
E - mail: l abqf4h@r.postjobfree.com
W eb page: w ww.cs.cmu.edu/~donna
C itizenship: U SA
C areer Interests
Setting direction and strategy for high-impact, technically-intriguing software projects.
P rogramming L anguages
F#, C#, Scala, Java, C++
E ducation
Ph.D. computer science, Carnegie Mellon University, September 2009.
Thesis topic: language support for post-hoc object-oriented reuse Advisor: Jonathan Aldrich
M.S. computer science, Carnegie Mellon University, 2005.
B.S. computer science, University of Maryland, College Park, 2001. GPA: 3.8 Major GPA: 3.9
E xperience
August 2011 present Program Manager, Microsoft Corporation (Redmond, WA)
Program Manager for F#, a functional programming language on the .NET platform
Contributed to project s technical direction and strategy; served as technical liaison between
product team and Microsoft Research partner team.
Ensured day-to-day alignment of test and development team; coordinated with partner teams as
necessary; managed schedules and deliverables; scoped product features and managed contingency
plans.
Engaged with customers directly; used customer feedback to inform improvements in usability,
discoverability of features, and product documentation and samples.
Evangelized F# both internally and externally; presented talks on F# at several industry
conferences (with high attendee feedback scores); contributed technical content for press articles
on F#.
Co-organized Lang.NEXT, a very successful Microsoft-sponsored cross-industry programming
languages conference.
October 2009 July 2011 Postdoctoral Researcher, EPFL (Lausanne, Switzerland)
Worked on research team that developed Scala, a programming language with full Java interoperability
and a strong type system. Estimated 100,000 programmers worldwide; used by Twitter, foursquare,
and others.
Improved stability and performance of the Scala plugin for Eclipse, using product feedback from
customers and internal users.
1 of 3
Designed and implemented an improved Scala REPL (read-evaluate-print-loop) that was highly
integrated with other IDE features in Eclipse.
Performed formal usability study on Scaladoc; improved layout and design to ensure that
programmers could find documentation quickly and easily; showed that study results can be
applied to similar languages.
Participated in customer forums; responded to questions and explaining language specification;
participated in bug triage; co-organized Scala team s participation in Google Summer of Code.
June 2007 Aug 2007 Software Engineering Intern, Google Inc. (Kirkland, WA)
Worked on project that used Rhino JavaScript-to-Java compiler to run server-side JavaScript
embedded within HTML pages (modeled on Ruby on Rails).
Designed and implemented a full-fledged Eclipse debugger front- and backend for Rhino; features
included conditional breakpoints, expression evaluator, and ability to step in to HTML pages with
server-side JavaScript.
Instrumented existing programming environment to support the new language syntax; added
support for auto-completion and other advanced IDE features while editing server-side code.
Contributed enhancements to Rhino compiler.
June 2003 Aug 2003 Research Intern, Microsoft Research (Redmond, WA)
Development on the Fugue software protocol checker, a tool for ensuring that programs correctly
maintain object state invariants.
Designed annotations for specifying object invariants on exceptional control flow paths.
Implemented new analyses for assuring correctness of exception-handling code.
Aug 2001 Aug 2002 Software Engineer, TRW Inc. (Reston, VA)
Software developer on large C++ codebase for battlefield simulation.
Involved in implementation, test, and on-site deployment of the software.
Received three company excellence awards.
R esearch
2002 2009 Graduate assistant, Carnegie Mellon University, Computer Science Department
Designed a new, statically-typed language to allow safely adapting code without modifying it
directly. Language includes features which previously required dynamic typechecking.
Performed an empirical study of existing Java programs. Results showed that new language could
eliminate many runtime checks and would make programs easier to maintain.
Designed and implemented a Java extension with a novel multiple inheritance mechanism, to help
eliminate code duplication and promote reuse of library code.
Redesigned Java exception specifications to reduce annotation overhead. Implemented a language
extension and tool for specifying and enforcing exception policies.
I nventions
Modeling and Analysis Techniques for Software Assurance. William L. Scherlis, Jonathan Aldrich, Edwin
Chan, Dean Sutherland, and Donna Malayeri. Invention Disclosure, June 2006
2 of 3
P ublications
Gilles Dubochet and Donna Malayeri. Improving API Documentation for Java-like Languages. In Workshop
on Evaluation and Usability of Programming Languages and Tools, October 2010.
Donna Malayeri and Jonathan Aldrich. CZ: Multiple Inheritance Without Diamonds. In Proceedings of Object-
Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2009.
Donna Malayeri and Jonathan Aldrich. Is Structural Subtyping Useful? An Empirical Study. In Proceedings of
European Symposium on Programming (ESOP), 2009.
Donna Malayeri and Jonathan Aldrich. Integrating nominal and structural subtyping. In Proceedings of
European Conference on Object-Oriented Programming (ECOOP), 2008.
Donna Malayeri and Jonathan Aldrich. Practical exception specifications. In Advanced Topics in Exception
Handling Techniques, volume 4119 of LNCS. Springer, 2006.
September 2012
3 of 3