The CLAMP Project

CLAMP (C-Level Analyses and Module Systems for Portability) is a University of Washington WASP project that aims to develop tools to help programmers either port old code to new platforms or develop new portable code from the ground up.

We are currently interested in code written in languages at the C level of abstraction and "low-level" portability issues such as alignment defects. We are approaching the problem from two angles. First, we aim to build tools to discover portability defects in existing code, and second, we aim to build principled programming languages that offer safe, specialized abstractions to help develop portable code.

Papers:

A Theory of Platform-Dependent Low-Level Software

Marius Nita, Dan Grossman, Craig Chambers.
The 35th Annual ACM Symposium on Principles of Programming Languages (POPL), San Francisco, CA, January 2008.
[Paper] [Extended Version with Proofs] [Talk Slides]

Automatic Transformation of Bit-Level C Code to Support Multiple Equivalent Data Layouts

Marius Nita and Dan Grossman.
The 2008 International Conference on Compiler Construction (CC), Budapest, Hungary, March 2008.
[Paper] [Talk Slides]

A Framework for Understanding the Portability of C Types

Marius Nita.
Qualification Exam Research Report, University of Washington, May 2007.
[Paper] [Talk Slides]

Contacts:

Marius Nita and Dan Grossman.