Tencent Chair of Computer Science
| ||For chair-related issues ...||... for everything else
|office||276 Gates||411 Gates
|| Charlotte Marquez
| Sue George
Alex Aiken is the Alcatel-Lucent Professor and the current Tencent Chair of the Computer Science Department at Stanford.
Alex received his Bachelors degree in Computer Science and Music
from Bowling Green State University
in 1983 and his Ph.D. from Cornell
University in 1988. Alex was a Research Staff Member at the IBM
Almaden Research Center (1988-1993) and a Professor in the EECS department at UC Berkeley (1993-2003) before joining the Stanford faculty in 2003. His research interest is in areas related to programming languages.
He is an ACM Fellow, a recipient of Phi Beta Kappa's Teaching Award, and a former National Young Investigator.
Alex is married to Jennifer
Widom. Jennifer and Alex have a son Tim
and a daughter Emily.
Here are some photos from the family's travels.
- "The book" is finally out: Instruction Level Parallelism.
- I'm organizing this year's annual PSAAP II WEST workshop.
- Legion is a data-centric
parallel programming system for hierarchical, heterogeneous,
distributed parallel machines. Legion focuses on providing mechanisms
for the placement and movement of data, allowing programmers to
express locality and independence of data while also automating many
of the tedious tasks programmers currently face in programming large-scale
Here are (some of) the most recent papers I've been working on with my collaborators.
As they appear in print the papers move to my
And here's a link to various pages internal to these projects.
- Legion is a programming system for heterogenous, parallel machines with complex memory hierarchies.
- STOKE is a stochastic optimizer and associated verification techniques for X86 binaries
- DeduceIt is a system for checking student derivations in on-line courses; the idea is to provide a richer and more interactive electronic homework than multiple choice questions for problems that can be formulated as derivations in some formal system. A number of things are available:
- A demo video if you just want to get an idea of how it works.
- The live DeduceIt system (which is currently broken, sorry!), where you can try a number of different kinds of exercises developed for the undergraduate compiler course I teach.
- Open source respositories for the web front-end and the theorem prover back-end if you want to hack on the system yourself.
- Sequoia: Programming Hierarchical Memory Machines
- Saturn: a SAT-based tool for static error detection.
Chord: Effective Static Race Detection.
Cooperative Bug Isolation
- CQual: Adding specifications to programs with programmer-defined type qualifiers.
- Banshee, daughter of BANE,
the Berkeley ANalysis Engine for constructing constraint-based program
- CAP: Search millions of lines of open source for your code.
- Open Source Quality Project: Applying technology to software engineering problems.
- Titanium: Compiler
support for explicit parallel programming.
Cool: A freely available
course project for teaching compilers to undergraduates.
Moss: A Measure
of Software Similarity, useful for detecting plagiarism in programming
- Advice for Program Chairs distills my experience (and things I've learned from many other people) as a program chair for POPL and PLDI.
- Here is my program chair's report for PLDI'10. Unfortunatley the pdf can't correctly display some things in the report, so here is the original Power Point as well.
- I delivered a memorial for John Backus at PLDI'07.
- My family took most of the '07-'08 academic year off to travel the world. Those with too much time on their hands can check out the trip's web page.
Current Ph.D. Students
Graduated Ph.D. Students