Almond, an open-source and user-programmable virtual assistant project
Mobile and social computing,
a part of the
Programmable Open Mobile Internet (POMI) 2020
Previous Research Projects
Improving Program Robustness via Static Analysis and Dynamic
Collective: an Appliance-Based Computing Architecture.
SUIF Compiler System
Monica Lam is a Professor in the Computer Science Department at
Stanford University since 1988. She received a B.Sc. from University
of British Columbia in 1980 and a Ph.D. in Computer Science from
Carnegie Mellon University in 1987. She is the Faculty Director of
the Stanford MobiSocial Computing Laboratory and a co-PI in the POMI (Programmable
Open Mobile Internet) 2020 project, which is an NSF Expedition started
in 2008. Her current research interests
are in building an open and federated social computing infrastructure.
She has worked in the areas of compiler optimization and software
analysis to improve security.
She is a co-author of the book Compilers, Principles, Techniques, and Tools
(2nd Edition), also known as the Dragon book.
Monica is a Member of the National Academy of Engineering and
Association of Computing Machinery (ACM) Fellow. She received an NSF Young Investigator
award in 1992, the ACM Most Influential Programming Language Design
and Implementation Paper Award in 2001, an ACM SIGSOFT Distinguished
Paper Award in 2002, and the ACM Programming Language Design and
Implementation Best Paper Award in 2004. She was the author of two of
the papers in "20 Years of PLDI--a Selection (1979-1999)", and one
paper in the "25 Years of the International Symposia on Computer
Architecture". She received the University of British Columbia
Computer Science 50th Anniversary Research Award, 2018.
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).
In the area of mobile and social computing, her group developed
Musubi, a message-based mobile social network that delivers both an
attractive user experience as well as distributed data ownership.
The paper on Musubi is a finalist of Best Student Paper in the WWW 2012
Her contributions in compiler optimizations include software pipelining,
data locality, parallelization. The SUIF compiler infrastructure
developed by her research group has been widely used by compiler
researchers all around the world.
Her contributions in program analysis for security include tools for
automatically detecting cross-site scripting and SQL injection bugs in
Java/JSP web applications, which was based on a novel
context-sensitive pointer alias analysis. Other contributions include
the bddbddb (BDD-based Deductive DataBase) analysis system, the PQL
program query language, the Diduce dynamic root-cause analyzer, the
Clouseau C++ memory leak detector, and the Cred buffer overrun
Current PhD Students
- Michael Wolf
- Michael Smith, Harvard
- Todd Mowry, CMU
- Martin Rinard, MIT
- Daniel Scales, VMware
- Saman Amarasinghe,
- Jennifer Anderson, VMware
- Robert Wilson, Apple
- Jason Nieh,
- Brian Schmidt, Google
- Patrick Sathyanathan, Microsoft
- Amy Lim, Cadence
- Brian Murphy, Google
- Jeffrey Oplinger, Oracle
Sapuntzakis, Pure Storage
- V. Benjamin
Livshits, Microsoft Research
- John Whaley, UnifyID
- Jiwon Seo, UNIST
Controlling Fine-Grain Sharing in Natural Language with a Virtual
Giovanni Campagna, Silei Xu, Rakesh Ramesh, Michael Fischer, and
Monica S. Lam
In Proceedings of the ACM on Interactive, Mobile, Wearable and
Ubiquitous Technologies (IMWUT),
Singapore, October 2018.
Brassau: Automatically Generating Graphical User Interfaces for Virtual Assistants
Michael Fischer, Giovanni Campagna, Silei Xu, and Monica S. Lam
In 20th International Conference on Human-Computer Interaction with
Mobile Devices and Services. (MobileHCI),
Barcelona, Spain, September 2018.
Almond: The Architecture of an Open, Crowdsourced,
Privacy-Preserving, Programmable Virtual Assistant
Giovanni Campagna, Rakesh Ramesh, Silei Xu, Michael Fischer, and
Monica S. Lam.
In Proceedings of the 26th World Wide Web Conference,
Perth, Australia, April 2017.
A Distributed Open Social Platform for Mobile Devices
Monica S. lam, Giovanni Campagna, Jiwon Seo, and Michael Fischer
In IEEE/ACM International Conference on Mobile Software Engineering and Systems,
Austin, Texas, May 2016.
Historical Research Using Email Archives
Sudheendra Hangal, Vihari Piratla, Chaiyasit Manovit, Peter Chan,
Glynn Edwards, Monica S. Lam
In CHI-2015 Case Studies: ACM Computer Human Interaction
Seoul, Korea, April 2015.
Improving Communication in a Dorm with Interactive Public Displays
Michael H. Fischer and Monica S. Lam
In Information Technology and City Life Workshop,
In conjunction with the 18th ACM CSCW, Vancouver, March 2015.
Effect Of Phonemic Cuing On Recall Of Personally Relevant Names Derived From Email
Allyson C. Rosen, Ankit Mathur, Monica S. Lam, Sudheendra Hangal
Poster at the 2015 International Neuropsychological Society Annual Meeting
Denver, CO, February 2015.
An Efficient Graph Query Language Based on Datalog
Jiwon Seo, Stephen Guo, and Monica S. Lam
In IEEE Transactions on Knowledge and Data Engineering,
99, February 2015.
Personalized Memory Testing for Names Using Email Archives
Sudheendra Hangal, Allyson C. Rosen, Ankit Mathur, Monica S. Lam
In BrainKDD: International Workhop on Data Mining for Brain Science,
in conjunction with ACM SIGKDD'14, New York City, August 2014.
Distributed SociaLite: A Datalog-Based Language for Large-Scale Graph Analysis
Jiwon Seo, Jongsoo Park, Jaeho Shin, and Monica S. Lam
In Proceedings of 40th International Conference on Very Large Data Bases (VLDB), Hangzhou, China, August 2013.
Dispatch: Secure, Resilient Mobile Reporting,
Kanak Biscuitwala, Willem Bult, Mathias Lécuyer, T.J. Purtell, Madeline K. B. Ross, Augustin Chaintreau, Chris Haseman, Monica
S. Lam, Susan E. McGregor,
In Proceedings of the ACM SIGCOMM 2013 Conference, Hong Kong, China, August 2013.
Weaving a Safe Web of News,
Kanak Biscuitwala, Willem Bult, Mathias Lécuyer, T.J. Purtell,
Madeline K. B. Ross, Augustin Chaintreau, Chris Haseman, Monica S. Lam, Susan E. McGregor,
In Proceedings of the First Workshop on Social News on the Web
Held in conjunction with the 22nd International WWW Conference (WWW2013), Rio de Janeiro,
Brazil, May 2013.
SociaLite: Datalog Extensions for Efficient Social Network Analysis
Jiwon Seo, Stephen Guo, and Monica S. Lam
In Proceedings of the 29th IEEE International Conference on Data Engineering,
Brisbane, Australia, April 2013.
Processing Email Archives in Special Collections
Sudheendra Hangal, Peter Chan, Monica S. Lam, and Jeffrey Heer
In Proceedings of the Digital Humanities Conference (DH2012),
Hamburg, Germany, July 2012.
Musubi: Disintermediated Interactive Social Feeds for Mobile Devices
Ben Dodson, Ian Vo, T. J. Purtell, Aemon Cannon, and Monica S. Lam
In Proceedings of the 21st International WWW Conference (WWW2012)
Lyon, France, April 2012.
(Finalist of Best Student Paper).
Effective Browsing and Serendipitous Discovery with an Experience-Infused Browser
Sudheendra Hangal, Abhinay Nagpal, and Monica S. Lam
In Proceedings of the 2012 International Conference on Intelligent User Interfaces (IUI)
Lisbon, Portugal, February 2012.
Friends, Romans, Countrymen: Lend me your URLs.
Using Social Chatter to Personalize Web Search.
Abhinay Nagpal, Sudheendra Hangal, Rifat Reza Joyee, and Monica S. Lam
In Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW)
Seattle WA, February 2012.
MUSE: Reviving Memories Using Email Archives
Sudheendra Hangal, Monica S. Lam, and Jeffrey Heer
Proceedings of the 24th ACM Symposium on User Interface Software and Technology (UIST)
Santa Barbara CA, October 2011.
Micro-Interactions with NFC-Enabled Mobile Phones
Ben Dodson and Monica S. Lam
In Proceedings of the Third International Conference on Mobile Computing, Applications, and Services (MobiCASE)
Los Angeles, CA, October 2011.
An Algorithm and Analysis of Social Topologies from Email and Photo Tags
T. J. Purtell, Diana MacLean, Seng Keat Teh, Sudheendra Hangal, Monica S. Lam, and Jeffrey Heer
Proceedings of the Fifth ACM Workshop on Social Network Mining and Analysis
Held in conjunction with the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD)
San Diego, CA, August 2011.
Email Clients as Decentralized Social Apps in Mr. Privacy
Michael Fischer, T. J. Purtell, and Monica S. Lam
In Proceedings of the 4th Hot Topics in Privacy Enhancing Technologies (HotPETs 2011)
Waterloo ON, Canada, July 2011.
Groups Without Tears: Mining Social Topologies from Email
Diana MacLean, Sudheendra Hangal, Seng Keat Teh, Monica S. Lam, and Jeffrey Heer
In Proceedings of the 2011 International Conference on Intelligent
User Interfaces (IUI),
Palo Alto, CA, February 2011.
Computer System Manageability
Almond: Keeping the Internet Open with An Open-Source Virtual
Keynote at the 24th Annual International Conference on Mobile Computing
New Dehli, India, November, 2018.
How Mobile Disrupts Social As We Know It
Monica S. Lam
Entrepreneurship Thought Leadership Lecture, Stanford University, April 17, 2013.
A previous version of this talk was given as a
Keynote Address, 2013 International Conference on Intelligent User Interfaces, March 22 2013, Santa Monica, CA
Program Analysis for Reliability and Security
The Collective: A Cache-Based System Management Architecture
R. Chandra, N. Zeldovich, C. P. Sapuntzakis and M. S. Lam
In Proceedings of the Second Symposium on Networked Systems Design and
Implementation, May 2005.
Interactive Performance of SLIM: A Stateless, Thin-Client Architecture
B. K. Schmidt, M. S. Lam, and J. D. Northcutt
In Proceedings of the Seventeenth ACM Symposium on Operating Systems
Principles, December 1999.
Published as Operating Systems Review, 34(5):32-47.
Parallelization and Locality Optimization
Automatic Generation of XSS and SQL Injection Attacks with
Goal-Directed Model Checking.
Martin, Michael C., Lam, M. S.
In Proceedings of the 17th USENIX Security
(San Jose, CA, 30 July-1 August, 2008), pages 31-43.
Securing Web Applications Using Static and Dynamic Information Flow Tracking,
M. S. Lam, M.C. Martin, V. B. Livshits, and J. Whaley,
ACM Sigplan 2008 Workshop on Partial Evaluation and Program
Manipulation, (Keynote address), January 2008.
Finding Application Errors and Security Flaws Using PQL: a Program Query Language.
Michael Martin, V. Benjamin Livshits, and Monica S. Lam
In Proceedings of the Conference on Object-Oriented Programming,
Systems, Languages and Applications (OOPSLA '05),
Finding Security Vulnerabilities in Java Applications Using Static
V. Benjamin Livshits and Monica S. Lam
In Proceedings of the 14th USENIX Security Symposium,
Static Detection of Leaks in Polymorphic Containers.
David Heine and Monica S. Lam
In Proceeding of the 28th International Conference on Software
Engineering, (Shanghai, China, 20-28 May, 2006), pages 252-261.
Context-Sensitive Program Analysis as Database Queries
Monica S. Lam, John Whaley, V. Benjamin Livshits, Michael C. Martin,
Dzintars Avots, Michael Carbin and Christopher Unkel.
In Proceedings of the 24th SIGMOD-SIGACT-SIGART Symposium on
Principles of Database Systems,
June, 2005. (Invited Tutorial).
Cloning-Based Context-Sensitive Pointer Alias Analysis Using Binary
John Whaley and Monica S. Lam
In Proceedings of the ACM SIGPLAN 2004 Conference on Programming
Language Design and Implementation,
ACM Programming Language Design and Implementation Best
Paper Award, 2004.
Practical Flow-Sensitive and Context-Sensitive C and C++ Memory Leak
D. L. Heine and M. S. Lam
In Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language
Design and Implementation, June 2003.
Down Software Bugs Using Automatic Anomaly Detection
S. Hangal and M. S. Lam
In Proceedings of the 24th International Conference on Software Engineering,
Interprocedural Parallelization Analysis in SUIF,
M. W. Hall, S. P. Amarasinghe, B. R. Murphy, S.-W. Liao, and M. S. Lam,
ACM Transactions on Programming Languages and Systems, July
2005, 27(4), pp. 662-731.
and Array Contraction Across Arbitrarily Nested Loops Using Affine
A. W. Lim, S.-W. Liao and M. S. Lam
In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of
Parallel Programming, June 2001.
An Affine Partitioning Algorithm to Maximize Parallelism and Minimize Communication
A. W. Lim, G. I. Cheong and M. S. Lam
In Proceedings of the 13th ACM SIGARCH International Conference on
Supercomputing, June, 1999, pp. 228-237.
Parallelism and Minimizing Synchronization with Affine Partitions
A. W. Lim and M. S. Lam
Parallel Computing, Vol. 24, Issue 3-4, May 1998, Pages 445-475. (PDF)
(A preliminary version appeared as Maximizing Parallelism and
Minimizing Synchronization with Affine Transform, in the Conference
Record of the 24th Annual ACM SIGPLAN-SIGACT Symposium on Principles of
Programming Languages, January, 1997.)
Multiprocessor Performance with the SUIF Compiler
M. W. Hall, J. M. Anderson, S. P. Amarasinghe, B. R. Murphy, S.-W.
Liao, E. Bugnion and M. S. Lam
IEEE Computer, December 1996.
(A special issue on multiprocessors).
Coarse-Grain Parallelism Using an Interprocedural Parallelizing
M. W. Hall, S. P. Amarasinghe, B. R. Murphy, S. Liao, and M. S. Lam,
In Proceedings of Supercomputing '95, December 1995.
Optimizations for Parallelism and Locality on Scalable Parallel Machines
J. M. Anderson and M. S. Lam
In Proceedings of the ACM SIGPLAN'93 Conference on Programming Language
Design and Implementation, June, 1993.
and Evaluation of a Compiler Algorithm for Prefetching ( PDF)
T. C. Mowry, M. S. Lam and A. Gupta
In Proceedings of the Fifth International Conference on Architectural
Support for Programming Languages and Operating Systems, October, 1992.
- A Data
Locality Optimizing Algorithm
M. E. Wolf and M. S. Lam
In Proceedings of the ACM SIGPLAN'91 Conference on Programming Language
Design and Implementation, June 1991.
ACM Most Influential PLDI Paper Award, 2001.
Included in 20 Years of PLDI (1979-1999): A Selection, 2004.
Software Pipelining: An Effective Scheduling Technique for VLIW
In Proceedings of the SIGPLAN 88 Conference on Programming Language Design
and Implementation, June 1988, pp. 318-328.
Included in 20 Years of PLDI (1979-1999): A Selection, 2004.
- Limits of Control Flow on Parallelism
M. S. Lam and R. P. Wilson
In Proceedings of the 19th Annual International Symposium on Computer
Architecture, May, 1992.
- The Cache
Performance and Optimizations of Blocked Algorithms
M. S. Lam, E. E. Rothberg and M. E. Wolf
In Proceedings of the Fourth International Conference on Architectural
Support for Programming Languages and Operating Systems, April 1991.
- The Warp Computer: Architecture, Implementation and
M. Annaratone, E. Arnould, T. Gross, H. T. Kung, M. Lam, and O.
IEEE Transactions on Computers, December 1987, C-36, 12, pp. 1523-1538.
(A preliminary version appeared as Warp Architecture and
Implementation, which appeared in the Proceedings of the 13th
Annual Symposium on Computer Architecture, (Tokyo, Japan, 2-5 June
1986). pp. 346-356.
Included in 25 Years of the International Symposia on Computer