Penn Logo
Vertical Line

Implementation of Computation Group

Divider Divider Divider Divider Divider

Messy Computing

Why should we demand that every transistors in a multi-billion transistor chip be prefect? identical to the rest of the transistors on the chip? throughout the entire operational lifetime of the chip? especially as we consider post-Silicon bottom-up fabrication techniques and atomic-scale building blocks?

Given the evidence to date, how reasonable is it to assume that every line of code (LoC) in a multi-million LoC (operating system, application) is correct? free of safety and security bugs?
[Hint: studies repeatedly show the rate of errors in programs is above 1 per 1000 LoC.]

How can we build computing systems that operate correctly (or, at least, well enough), despite these inevitable flaws in their basic components?

Examples from our recent work include: