Alcatel-Lucent Professor of Computer Science
Alex Aiken 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.
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.
- 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
- Terra, a statically typed low-level language that is integrated with and meta-programmed by Lua (a dynamically typed high-level language) is now available. Terra provides support for producing very high performance code using meta-programming techniques.
- Mistral, a SMT solver incorporating support for abductive inference and fast solutions of integer linear constraints,
is now publicly released.
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. There is no web page yet, but there is a paper that will appear in SuperComputing '12 and another draft of a paper on the type system (complete with a long, tedious soundness proof).
- 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, 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