2010 Poster Sessions : A Type System for Dimensional Analysis

Student Name : Pokey Rule
Advisor : David Cheriton
Research Areas: Computer Systems
Dimensional analysis is the practice of associating units with the quantities in an equation, and ensuring that the resulting units match those expected. Scientists rely on dimensional analysis to reveal errors in their calculations and to associate semantic meaning with their numerical results. We present a type system for dimensional analysis, which ensures that errors related to incorrect units are revealed at compile-time. Our type system allows for arbitrary dimension types to be defined, such as Seconds or Lumens, and to multiply or divide data of these types, yielding data of type Seconds * Lumens, Lumens / Seconds^2, etc. This type system is extensible: users can define new data types and multiply them with old ones. It is also efficient: we generate C++ code that is as efficient as if the programmer had used built-in data types, such as double. In this way, programmers can write code that more precisely indicates the intended semantic meaning of their types, while relying on the compiler to detect violations of these semantics without any loss in program efficiency.

Pokey Rule is a Ph.D. student in Stanford's Distributed Systems Group. His research interests include programming language theory and distributed systems. He has been involved with several start-up companies, including OptumSoft, Acuitus, and Through The Lens. He received his Bachelor's Degree in Computer Science from Stanford University.