Monica S. Lam
Encyclopedia
Monica Sin-Ling Lam is a professor in the Computer Science Department at Stanford
Stanford University
The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is a private research university on an campus located near Palo Alto, California. It is situated in the northwestern Santa Clara Valley on the San Francisco Peninsula, approximately northwest of San...

, and Founder and Chief Scientist of MokaFive
MokaFive
MokaFive, headquartered in Redwood City, California, provides a desktop-as-a-service platform for managing desktop computers. MokaFive was founded in July 2005 as a spinoff of the Collective Project in Stanford University's Computer Science Department...

.

Professional biography

Monica Lam received a B.Sc. from University of British Columbia
University of British Columbia
The University of British Columbia is a public research university. UBC’s two main campuses are situated in Vancouver and in Kelowna in the Okanagan Valley...

 in 1980 and a Ph.D. in Computer Science from Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

 in 1987.

Lam joined the faculty of Computer Science at Stanford University
Stanford University
The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is a private research university on an campus located near Palo Alto, California. It is situated in the northwestern Santa Clara Valley on the San Francisco Peninsula, approximately northwest of San...

 in 1988. She currently directs the Mobisocial laboratory at Stanford. She has contributed to the research of a wide range of computer systems topics including compilers, program analysis
Program analysis
Program analysis may refer to:* Program analysis , the process of automatically analysing the behavior of computer programs* Program evaluation, a disciplined way of assessing the merit, value, and worth of projects and programs...

, operating systems, security
Security
Security is the degree of protection against danger, damage, loss, and crime. Security as a form of protection are structures and processes that provide or improve security as a condition. The Institute for Security and Open Methodologies in the OSSTMM 3 defines security as "a form of protection...

, computer architecture
Computer architecture
In computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....

, and high-performance computing
High-performance computing
High-performance computing uses supercomputers and computer clusters to solve advanced computation problems. Today, computer systems approaching the teraflops-region are counted as HPC-computers.-Overview:...

.

In the Collective project, her research group and she developed the concept of a livePC: subscribers of the livePC will automatically run the latest of the published PC virtual images with each reboot. This approach allows computers to be managed scalably and securely. In 2005, the group started a company called MokaFive to transfer the technology to industry.

In another research project, her program analysis group has developed a collection of tools for improving software security and reliability. They developed the first scalable context-sensitive inclusion-based pointer analysis and a freely available tool called BDDBDDB, that allows programmers to express context-sensitive analyses simply by writing Datalog
Datalog
Datalog is a query and rule language for deductive databases that syntactically is a subset of Prolog. Its origins date back to the beginning of logic programming, but it became prominent as a separate area around 1977 when Hervé Gallaire and Jack Minker organized a workshop on logic and databases...

 queries. Other tools developed include Griffin
Griffin
The griffin, griffon, or gryphon is a legendary creature with the body of a lion and the head and wings of an eagle...

, static and dynamic analysis for finding security vulnerabilities in Web applications such as SQL injection
SQL injection
A SQL injection is often used to attack the security of a website by inputting SQL statements in a web form to get a badly designed website in order to dump the database content to the attacker. SQL injection is a code injection technique that exploits a security vulnerability in a website's software...

, a static and dynamic program query language called PQL, a static memory leak detector called Clouseau, a dynamic buffer overrun detector called CRED, and a dynamic error diagnosis tool called DIDUCE.

Previously, Lam led the SUIF (Stanford University Intermediate Format) Compiler project, which produced a widely used compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 infrastructure known for its locality optimizations and interprocedural parallelization. Many of the compiler techniques she developed have been adopted by the industry. Her other research projects included the architecture and compiler for the CMU Warp machine, a systolic array
Systolic array
In computer architecture, a systolic array is a pipe network arrangement of processing units called cells. It is a specialized form of parallel computing, where cells , compute data and store it independently of each other.thumb|240px...

 of VLIW processors, and the Stanford DASH distributed shared memory
Distributed shared memory
Distributed Shared Memory , in Computer Architecture is a form of memory architecture where the memories can be addressed as one address space...

 machine. In 1998, she took a sabbatical leave from Stanford to help start Tensilica Inc., a company that specializes in configurable processor cores.

Lam chaired the ACM
Association for Computing Machinery
The Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...

SIGPLAN Programming Languages Design and Implementation Conference in 2000, served on the Editorial Board of ACM Transactions on Computer Systems and numerous program committees for conferences on languages and compilers (PLDI, POPL), operating systems (SOSP), and computer architecture (ASPLOS, ISCA).

Awards

Lam has received the following awards and honors:
  • Fellow of the ACM, 2007
  • ACM Programming Language Design and Implementation Best Paper Award in 2004
  • ACM SIGSOFT Distinguished Paper Award in 2002
  • ACM Most Influential Programming Language Design and Implementation Paper Award in 2001
  • NSF Young Investigator award in 1992
  • Two of her papers were recognized in "20 Years of PLDI--a Selection (1979-1999)"
  • One of her papers was recognized in the "25 Years of the International Symposia on Computer Architecture", 1988.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK