Title: A System and Language for Building System-Specific, Static Analyses
Building systems such as OS kernels and embedded software is difficult.
An important source of this difficulty is the numerous rules they must
obey: interrupts cannot be disabled for "too long", global variables
must be protected by locks, user pointers passed to OS code must checked
for safety before use, etc. This presentation will introduce how system
implementors can use a new programming methodology, meta-level
compilation (MC), to easily check such problems. We will describe metal,
a flexible, easy-to-use extension language for specifying analyses
through several examples.