John Whaley
Latest news:
You can find the slides from my PLDI tutorial here: (ppt)
I am a researcher in the (broad) area of software systems. The goal
of my research is to help people build better (faster, simpler, more
reliable) software. Most of my research has been in the areas of
compilers, program analysis, software engineering, and virtual
machines. More specifically, I am interested in dynamic compilation,
optimization of object-oriented languages, and pointer analysis. I am
also interested in using program analysis to automatically identify
and fix software flaws, such as buffer overruns and misuse of
interfaces, and in improving programmer productivity through the use
of software tools.
I am one of the founders of moka5.
moka5 is devoted to the mission of making PCs easier to manage and
use. We have a radical solution to completely solve the desktop PC
management problems of malware, virus infections, patching, updates,
migration, etc. Download our free LivePC
Engine, which allows to run LivePCs: maintained computing
environments that automatically reset to a pristine copy of the latest
version on every reboot. You can install the LivePC Engine on a
portable storage device and take your computer wherever you go. You
can also share LivePCs over the web. We have a directory of community-maintained
LivePCs on our website that you can download and start using right
away.
I received my Ph.D. in 2007 from Stanford University, working under
the tutelage of Monica
Lam in the SUIF group.
From 2005 to 2007, I took a leave of absence from Stanford to help
found moka5. I graduated from MIT in 1999 with a Bachelors in Computer
Science and a Masters in Electrical Engineering and Computer Science.
At MIT, I was working mostly with Martin Rinard. From
1999-2000, I was working at IBM Tokyo Research Lab
on their Java JIT
compiler.
I designed and wrote the open source Joeq virtual machine and compiler
infrastructure, used by many researchers throughout the world and
as the basis for the compilers course
at Stanford. I also created bddbddb, a powerful
BDD-based program analysis tool with a very silly name.
Curriculum Vitae:
(pdf)
(ps)
(doc)
(html)
Open source projects:
-
Joeq: a virtual machine and compiler
infrastructure. LGPL.
-
JavaBDD: an efficient BDD
(binary decision diagram) library for Java. LGPL.
-
bddbddb: BDD-Based Deductive
DataBase, a tool for translating analysis specifications into efficient BDD implementations. LGPL.
-
BuDDy: a popular open-source
BDD library that I contribute to.
-
MIT Flex compiler: a
compiler infrastructure I worked on at MIT. GPL.
-
Eclipse keepresident plugin: a simple
plugin for Eclipse on Windows that keeps
Eclipse from being swapped out, greatly reducing pause times.
-
Maven: a software project management
tool. I keep my own modifications to Maven here.
Publications:
2008
-
Monica S. Lam, Michael Martin, Benjamin Livshits, John Whaley. Securing Web Applications Using Static and Dynamic Information Flow Tracking.
In ACM Sigplan 2008 Workshop on Partial Evaluation and Program Manipulation,
San Francisco, CA, January 2008.
(PDF)
(BibTEX)
2007
-
John Whaley. Context-Sensitive Pointer Analysis using Binary Decision
Diagrams. Ph.D. thesis, Stanford University, March 2007.
Single-sided:
(PDF)
(Postscript)
(BibTEX)
Double-sided:
(PDF)
(Postscript)
2006
-
Mayur Naik, Alex Aiken, John Whaley. Effective Static Race Detection for
Java. In Proceedings of Program Language Design and Implementation (PLDI),
Ottawa, Canada, June 2006.
(21% acceptance rate)
(PDF)
(Postscript)
(BibTEX)
2005
-
John Whaley, Dzintars Avots, Michael Carbin, Monica S. Lam. Using Datalog
with Binary Decision Diagrams for Program Analysis.
In Proceedings of Programming Languages and Systems: Third Asian Symposium,
APLAS 2005,
Tsukuba, Japan, November 2005.
(31% acceptance rate)
(PDF)
(Postscript)
(BibTEX)
(Springer-Verlag link)
(Presentation slides)
-
John Whaley, Christos Kozyrakis. Heuristics for Dynamic and Profile-driven
Method-level Speculative Parallelization.
In Proceedings of International Conference on Parallel Processing (ICPP),
Oslo, Norway, June 2005.
(28% acceptance rate)
(PDF)
(Postscript)
(BibTEX)
(IEEE Xplore)
(Presentation slides)
-
John Whaley. Joeq: A Virtual Machine and Compiler Infrastructure.
In Science of Computer Programming Journal, 2005.
(PDF)
(BibTEX)
(Elsevier)
-
Monica S. Lam, John Whaley, V, Benjamin Livshits, Michael Martin,
Dzintars Avots, Michael Carbin, Christopher Unkel.
Context-Sensitive Program Analysis as Database Queries.
In Proceedings of Principles of Database Systems (PODS),
Baltimore, Maryland, June 2005.
(Invited paper)
(PDF)
(Postscript)
(BibTEX)
(ACM Digital Library)
(Presentation slides (due to Monica Lam))
2004
-
John Whaley, Monica S. Lam. Cloning-Based Context-Sensitive Pointer Alias
Analysis Using Binary Decision Diagrams. In Proceedings of Program
Language Design and Implementation (PLDI), Washington DC, June 2004.
(20% acceptance rate)
Best Paper Award.
(PDF)
(Postscript)
(BibTEX)
(CiteSeer)
(ACM Digital Library)
(Presentation slides)
2003
-
John Whaley. Joeq: A Virtual Machine and Compiler Infrastructure.
In Proceedings of the Workshop on Interpreters, Virtual Machines, and
Emulators, San Diego, CA, June 2003. Pages 58-66.
(19.5% acceptance rate)
(PDF)
(Postscript)
(BibTEX)
(CiteSeer)
(ACM Digital Library)
2002
-
John Whaley, Monica S. Lam. An Efficient Inclusion-Based Points-To
Analysis for Strictly-Typed Languages. In Proceedings of the 9th
International Static Analysis Symposium, Madrid, Spain,
September 2002. Pages 180-195.
(37% acceptance rate)
(PDF)
(Postscript)
(BibTEX)
(CiteSeer)
(Springer-Verlag link)
(Presentation slides)
-
John Whaley, Michael C. Martin, Monica S. Lam. Automatic Extraction of
Object-Oriented Component Interfaces. In ACM International Symposium on
Software Testing and Analysis, Rome, Italy, July 2002. Pages 218-228.
(19% acceptance rate)
ACM SIGSOFT Distinguished Paper Award.
(PDF)
(Postscript)
(BibTEX)
(CiteSeer)
(ACM Digital Library)
(Presentation slides)
2001
-
John Whaley. Partial Method Compilation using Dynamic Profile
Information. In ACM Conference on Object-Oriented Programming Systems,
Languages, and Applications, Tampa Bay, Florida, October 2001. Pages 166-179.
(18% acceptance rate)
Best Paper Award.
(PDF)
(Postscript)
(BibTEX)
(CiteSeer)
(ACM Digital Library)
(Presentation slides)
-
John Whaley. System Checkpointing Using Reflection and Program Analysis.
In 3rd International Conference, Reflection 2001, Kyoto, Japan, September 2001.
Pages 44-51.
(25% acceptance rate)
(PDF)
(Postscript)
(BibTEX)
(CiteSeer)
(Springer-Verlag link)
2000
-
John Whaley. A Portable Sampling-Based Profiler for Java Virtual Machines.
In ACM 2000 Java Grande Conference, San Francisco, CA, June 2000. Pages 78-87.
(36% acceptance rate)
(PDF)
(Postscript)
(BibTEX)
(CiteSeer)
(ACM Digital Library)
-
Bowen Alpern, Dick Attanasio, John Barton, Michael Burke, Perry Cheng,
Jong-Deok Choi, Anthony Cocchi, Stephen Fink, David Grove, Michael Hind,
Susan Flynn Hummel, Derek Lieber, Vassily Litvinov, Ton Ngo, Mark Mergen,
Vivek Sarkar, Mauricio Serrano, Janice Shepherd, Stephen Smith,
V. C. Sreedhar, Harini Srinivasan and John Whaley. The Jalapeno Virtual
Machine. IBM Systems Journal, Java Performance Issue, Vol. 39, No. 1,
2000.
(PDF)
(HTML)
(ASCII)
(BibTEX)
(CiteSeer)
1999
-
Martin Rinard and John Whaley. Compositional Pointer and Escape Analysis
for Multithreaded Java Programs. MIT LCS Technical Report 795. November
1999.
(Postscript)
(PDF)
(BibTEX)
(CiteSeer)
-
John Whaley and Martin C. Rinard. Compositional Pointer and Escape Analysis for
Java Programs. In Proceedings of the 14th Annual Conference on
Object-Oriented Programming Systems, Languages and Applications, Denver,
CO, November 1999. Pages 187-206.
(20% acceptance rate)
(PDF)
(Postscript)
(BibTEX)
(CiteSeer)
(ACM Digital Library)
(Presentation slides)
-
Michael G. Burke, Jong-Deok Choi, Stephen Fink, David Grove, Michael Hind,
Vivek Sarkar, Mauricio J. Serrano, V. C. Sreedhar, Harini Srinivasan, and
John Whaley. The Jalapeno Dynamic Optimizing Compiler for Java. In ACM
1999 Java Grande Conference, pages 129-141, June 1999.
(53% acceptance rate)
(Postscript)
(PDF)
(BibTEX)
(CiteSeer)
(ACM Digital Library)
(Presentation slides (due to Vivek Sarkar))
-
J. Whaley. Dynamic Optimization through the use of Automatic Runtime
Specialization. M.Eng. thesis, Massachusetts Institute of Technology, May 1999.
(PDF)
(Postscript)
(BibTEX)
(CiteSeer)
1998
-
J. Whaley and John J. Barton. A real-time performance profiler for Java.
In Dr. Dobbs Journal, March 1998, pages 44, 46--48, 105.
(HTML)
(BibTEX)
(CiteSeer)
Last modified: April 1, 2007.
This page has been viewed
times.