Using sequencing to trigger a better analysis

  • Authors:
  • Nathan Cooprider;John Regehr

  • Affiliations:
  • University of Utah School of Computing;University of Utah School of Computing

  • Venue:
  • ACM SIGBED Review - Special issue on the RTSS forum on deeply embedded real-time computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We improve the static analysis of control flow in programs running on embedded microcontrollers. Our new techniques, called sequencing and triggering analysis, can sometimes determine that the scheduler always runs a collection of tasks in a certain order or that some interrupt handlers are dead or at least cannot fire at certain times. Triggering identifies root causes of indirect control flow through system idioms and programmer annotations. Sequencing propagates the results of triggers through system execution in order to refine our estimate of the program control flow graph. We show that triggering and sequencing improve the effectiveness of static analyses of sensor network applications. Improved static analyses result in better optimizations, increased verification power, and more accurate worst-case-execution time estimations.