The Internals of GameTime: Implementation and Evaluation of a Timing Analyzer for Embedded Software

Jonathan Prakash Kotker

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2013-116
May 24, 2013

http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-116.pdf

Timing analysis is central to the design and implementation of cyber-physical systems. This thesis presents GameTime, a timing analysis toolkit that is based on a combination of game-theoretic online learning and systematic testing using satisfiability modulo theories (SMT) solvers. GameTime can be used to tackle a range of problems related to program timing, including estimating the worst-case execution time, predicting the distribution of execution times, and detecting timing-related anomalies.

This thesis describes the details of the implementation of GameTime. The notion of basis paths is used to handle the exponentially many paths in a program. The issues that arise during the translation of statements in C programs to the equivalent clauses in SMT queries are presented, and the techniques used by GameTime to address these issues are elaborated through examples. Finally, experimental results demonstrate the speed of GameTime analysis and the accuracy of the predictions made by GameTime, with a relative error margin of less than 5% on most of the benchmarks measured.


BibTeX citation:

@techreport{Kotker:EECS-2013-116,
    Author = {Kotker, Jonathan Prakash},
    Title = {The Internals of GameTime: Implementation and Evaluation of a Timing Analyzer for Embedded Software},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2013},
    Month = {May},
    URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-116.html},
    Number = {UCB/EECS-2013-116},
    Abstract = {Timing analysis is central to the design and implementation
of cyber-physical systems. This thesis presents GameTime,
a timing analysis toolkit that is based on a combination of
game-theoretic online learning and systematic testing using
satisfiability modulo theories (SMT) solvers. GameTime can
be used to tackle a range of problems related to program
timing, including estimating the worst-case execution time,
predicting the distribution of execution times, and
detecting timing-related anomalies.

This thesis describes the details of the implementation of
GameTime. The notion of basis paths is used to handle
the exponentially many paths in a program. The issues that
arise during the translation of statements in C programs to
the equivalent clauses in SMT queries are presented, and
the techniques used by GameTime to address these issues
are elaborated through examples. Finally, experimental
results demonstrate the speed of GameTime analysis and
the accuracy of the predictions made by GameTime, with
a relative error margin of less than 5% on most of
the benchmarks measured.}
}

EndNote citation:

%0 Report
%A Kotker, Jonathan Prakash
%T The Internals of GameTime: Implementation and Evaluation of a Timing Analyzer for Embedded Software
%I EECS Department, University of California, Berkeley
%D 2013
%8 May 24
%@ UCB/EECS-2013-116
%U http://www.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-116.html
%F Kotker:EECS-2013-116