This page is no longer maintained.
However, it has some pointers to archival material that might be of interest to someone, and so is kept as-is to preserve access to the links.

Dependable Embedded Systems Research:

Current Projects:

Previous Projects and Other Topics:

Autonomous Vehicle (Self-Driving Car) Safety

Selected Presentations:


Historical Projects:

(Also see: Current Projects page)

Cyclic Redundancy Checks (CRCs) and Checksums

A lot of the folklore on checksums isn't quite right. We spent a considerable number of CPU-years crunching on a search for optimal polynomials. And we found them.

Embedded System Security

The rules of the embedded security game are likely to differ from those of IT and desktop security.

Embedded System Safety

Embedded systems usually have the ability to release energy into the environment via actuators. Any potentially uncontrolled release of such energy is, by definition, a safety issue.

Ballista -- software robustness testing and dependability benchmarking

Some software isn't particularly robust to exceptional inputs. We developed an automated approach to finding robustness vulnerabilities in APIs, including the POSIX and Windows. We found some one-line programs that crashed mature commercial operating systems.

Also see: Ballista Project Home Page, which is no longer maintained and thus may not be up to date.

Graceful degradation

Wouldn't it be nice if systems failed soft instead of failing hard, and did so without having to resort to brute force redundancy? This work was in part under the umbrella of the Amaranth project.

System Architecture

How to figure out the pieces and how they fit together in systems that are bigger than just a CPU or just a computer. Related is system architecting, which is how you figure out the right architecture.

Embedded Control Networks

These differ in many ways from IT style networks, and we have worked on a variety of aspects.

Distributed Embedded System Dependability

Distributed embedded systems have unique dependability challenges, especially when theoretical ideas such as group membership and periodic real time schedules meet the real world.

Stack Computers

In a previous life I designed stack-based CPUs. While they have fallen out of the mainstream, there is still quite a bit of interest, so I maintain a page with my work in this area.

Also see my historical page on: stack computers (which is no longer maintained)

Computer Architecture

In addition to stack computers, I've done a little bit of work on supercomputer architecture and everyday CPU design.

Embedded System Education


Things that don't fit into the other bins.

Philip Koopman   Phone: +1.412.268.5225  US Eastern Time  More Contact Info