1 / 5

A Static Analysis Framework For Embedded Systems

Nathan Cooprider John Regehr's Embedded Systems Group. A Static Analysis Framework For Embedded Systems. , nesC and C. – OS for wireless sensor network devices nesC – language designed for building applications for the TinyOS platform

badru
Télécharger la présentation

A Static Analysis Framework For Embedded Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Nathan Cooprider John Regehr's Embedded Systems Group A Static Analysis FrameworkFor Embedded Systems

  2. , nesC and C • – OS for wireless sensor network devices • nesC – language designed for building applications for the TinyOS platform • It is really just an extension to C • The produced code is then compiled by gcc • C – the lingua franca of embedded systems software development

  3. CIL • C Intermediate Language – developed at UCB • Cleans up C to a few core constructs • removes syntactic sugar (like “->” notation) • arrays become pointers • all loops become while loops • Works on real programs • handles ANSI-C, C, and GNU C • SPEC 95, linux kernel, , bzip

  4. The Framework • Classical dataflow analysis • Maintain variable information • Analyze until a fixed point is reached • Perform transformation based on analysis • Its an infrastructure for future research • Future work: Concurrency, backwards operations, degrees of context and/or path sensitivity

  5. Flexibility • The transformation, analysis, and variable information may all be switched out • Transformations: constant propagation, program verification through asserts, code elimination • Analysis: symbolic execution • Variable information: constant domain, value set domain, parity domain, interval domain, bitwise domain

More Related