Monica S. Lam | |
---|---|
Born | Monica Sin-Ling Lam |
Nationality | American |
Academic background | |
Education | University of British Columbia |
Alma mater | Carnegie Mellon University |
Thesis | A Systolic Array Optimizing Compiler (1987) |
Doctoral advisor | H. T. Kung |
Academic work | |
Discipline | Computer science |
Institutions | Stanford University |
Monica Sin-Ling Lam is an American computer scientist. She is a professor in the Computer Science Department at Stanford University.
Monica Lam received a B.Sc. from University of British Columbia in 1980 and a Ph.D. in computer science from Carnegie Mellon University in 1987. [1]
Lam joined the faculty of Computer Science at Stanford University in 1988. She has contributed to the research of a wide range of computer systems topics including compilers,program analysis,operating systems,security,computer architecture,and high-performance computing. More recently,she is working in natural language processing,and virtual assistants with an emphasis on privacy protection. She is the faculty director of the Open Virtual Assistant Lab,which organized the first workshop for the World Wide Voice Web. [2] The lab developed the open-source Almond voice assistant, [3] which is sponsored by the National Science Foundation. [4] [5] Almond received Popular Science's Best of What's New award in 2019. [6]
Previously,Lam led the SUIF (Stanford University Intermediate Format) Compiler project, [7] which produced a widely used compiler infrastructure known for its locality optimizations and interprocedural parallelization. Many of the compiler techniques she developed have been adopted by industry. Her other research projects included the architecture and compiler for the CMU Warp machine,a systolic array of VLIW processors,and the Stanford DASH distributed shared memory machine. In 1998,she took a sabbatical leave from Stanford to help start Tensilica Inc.,a company that specializes in configurable processor cores.
In another research project,her program analysis group 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 queries. Other tools developed include Griffin,static and dynamic analysis for finding security vulnerabilities in Web applications such as SQL injection,a static and dynamic program query language called QL,a static memory leak detector called Clouseau,a dynamic buffer overrun detector called CRED,and a dynamic error diagnosis tool called DIDUCE.
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. She also directed the MobiSocial laboratory at Stanford,as part of the Programmable Open Mobile Internet 2020 initiative.
Lam is also the cofounder of Omlet, [8] which launched in 2014. Omlet is the first product from MobiSocial. [9] [10] Omlet is an open,decentralized social networking tool,based on an extensible chat platform. [11]
Lam chaired the ACM 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).
Lam has received the following awards and honors:
Alfred Vaino Aho is a Canadian computer scientist best known for his work on programming languages, compilers, and related algorithms, and his textbooks on the art and science of computer programming.
Adele Goldberg is an American computer scientist. She was one of the co-developers of the programming language Smalltalk-80 and of various concepts related to object-oriented programming while a researcher at the Xerox Palo Alto Research Center (PARC), in the 1970s.
SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages.
Hsiang-Tsung Kung is a Taiwanese-born American computer scientist. He is the William H. Gates professor of computer science at Harvard University. His early research in parallel computing produced the systolic array in 1979, which has since become a core computational component of hardware accelerators for artificial intelligence, including Google's Tensor Processing Unit (TPU). Similarly, he proposed optimistic concurrency control in 1981, now a key principle in memory and database transaction systems, including MySQL, Apache CouchDB, Google's App Engine, and Ruby on Rails. He remains an active researcher, with ongoing contributions to computational complexity theory, hardware design, parallel computing, routing, wireless communication, signal processing, and artificial intelligence.
Jeffrey David Ullman is an American computer scientist and the Stanford W. Ascherman Professor of Engineering, Emeritus, at Stanford University. His textbooks on compilers, theory of computation, data structures, and databases are regarded as standards in their fields. He and his long-time collaborator Alfred Aho are the recipients of the 2020 Turing Award, generally recognized as the highest distinction in computer science.
In software engineering, profiling is a form of dynamic program analysis that measures, for example, the space (memory) or time complexity of a program, the usage of particular instructions, or the frequency and duration of function calls. Most commonly, profiling information serves to aid program optimization, and more specifically, performance engineering.
Matthias Felleisen is a German-American computer science professor and author. He grew up in Germany and immigrated to the US in his twenties. He received his PhD from Indiana University under the direction of Daniel P. Friedman.
Programming language theory (PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of formal languages known as programming languages. Programming language theory is closely related to other fields including mathematics, software engineering, and linguistics. There are a number of academic conferences and journals in the area.
Susan Lois Graham is an American computer scientist. Graham is the Pehong Chen Distinguished Professor Emerita in the Computer Science Division of the Department of Electrical Engineering and Computer Sciences at the University of California, Berkeley.
Thread Level Speculation (TLS), also known as Speculative Multithreading, or Speculative Parallelization, is a technique to speculatively execute a section of computer code that is anticipated to be executed later in parallel with the normal execution on a separate independent thread. Such a speculative thread may need to make assumptions about the values of input variables. If these prove to be invalid, then the portions of the speculative thread that rely on these input variables will need to be discarded and squashed. If the assumptions are correct the program can complete in a shorter time provided the thread was able to be scheduled efficiently.
David Brumley is a professor at Carnegie Mellon University. He is a well-known researcher in software security, network security, and applied cryptography. Prof. Brumley also worked for 5 years as a Computer Security Officer for Stanford University.
In computing, compiler correctness is the branch of computer science that deals with trying to show that a compiler behaves according to its language specification. Techniques include developing the compiler using formal methods and using rigorous testing on an existing compiler.
Barbara G. Ryder is an American Computer Scientist noted for her research on programming languages and more specifically, the theoretical foundations and empirical investigation of interprocedural compile-time analysis.
Susan Beth Horwitz was an American computer scientist noted for her research on programming languages and software engineering, and in particular on program slicing and dataflow-analysis. She had several best paper and an impact paper award mentioned below under awards.
Laurie Hendren was a Canadian computer scientist noted for her research in programming languages and compilers.
Kathleen Shanahan Fisher is an American computer scientist who specializes in programming languages and their implementation.
Csmith is a test case generation tool. It can generate random C programs that statically and dynamically conform to the C99 standard. It is used for stress-testing compilers, static analyzers, and other tools that process C code. It is a free, open source, permissively licensed C compiler fuzzer developed by researchers at the University of Utah. It was previously called Randprog.
Differential testing, also known as differential fuzzing, is a popular software testing technique that attempts to detect bugs, by providing the same input to a series of similar applications, and observing differences in their execution. Differential testing complements traditional software testing, because it is well-suited to find semantic or logic bugs that do not exhibit explicit erroneous behaviors like crashes or assertion failures. Differential testing is sometimes called back-to-back testing.
Grigore Roșu is a computer science professor at the University of Illinois at Urbana-Champaign and a researcher in the Information Trust Institute. He is known for his contributions in runtime verification, the K framework, matching logic, and automated coinduction.
Omlet is a mobile sharing and collaboration platform that was introduced at the SXSW Accelerator competition and made it to the finals. It's the first product from MobiSocial, which was founded by Monica Lam, a professor of computer science at Stanford University and the company's chief executive.
Omlet is an Open Messaging Platform, a new standard for mobile messaging applications that leverages the unique attributes of the phone to enable consumers to "share anything, with anyone, anywhere," while owning the data they share.