University of Utah
Search
School of Computing
 

Static Analysis for Embedded Systems

by
Nathan Cooprider

Advised by
John Regehr

Developing embedded systems software presents a number of challenges. Static analysis tools help deal with these challenges. I am working with CIL to explore and then extend the static analysis techniques available for embedded systems developers. CIL, developed by UC Berkeley, is "a high-level representation along with a set of tools that permit easy analysis and source-to-source transformation of C programs." While this is a powerful platform, there are some bugs and inefficiencies in the analyses and transformations. From observation and experience, it appears that a few simple and effective transformation will have large positive effects on embedded system code. My target application right now for these tools is TinyOS code.

This work builds off my previous work with John Regehr and Alastair Reid. We used Application and System Specific Heuristics (ASSH) to guide compilers to automatically achieve high level goals. An example goal is "make the program as fast as possible, but do not exceed a certain code size." ASSHes can be built using CIL transformations and analyses and guided through abstract goals. One potential transformation of interest to me is building a conditional constant propagator into the CIL framework. Another is performing useful points-to analyses. A third is providing a concurrency abstraction which leverages CIL. While CIL establishes some scaffolding for these transformations, it is not complete and sometimes it is not even correct. I hope to develop analyses which can be used in ASSHes and on their own.

These analyses will be useful for developers of embedded software in a number of ways. First, they will help the developer reach resource constraints while avoiding manual optimizations. Second, the analyses will find concurrency and memory usage errors. Third, the analyses will be easily incorporated into the development process.


School of Computing • 50 S. Central Campus Dr. Rm. 3190 • Salt Lake City, UT 84112
801-581-8224 • Send comments to webmaster@cs.utah.edu
Disclaimer

Home People Research Admissions Site Map