Non-Intrusive Program Tracing of Non-Preemptive Multitasking Systems Using Power Consumption

Loading...
Thumbnail Image

Date

2017-12-19

Authors

Lamichhane, Kamal

Advisor

Fischmeister, Sebastian

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

System tracing, runtime monitoring, execution reconstruction are useful techniques for protecting the safety and integrity of systems. Furthermore, with time-aware or overhead-aware techniques being available, these techniques can also be used to monitor and secure production systems. As operating systems gain in popularity, even in deeply embedded systems, these techniques face the challenge to support multitasking. In this thesis, we propose a novel non-intrusive technique, which efficiently reconstructs the execution trace of non-preemptive multitasking system by observing power consumption characteristics. Our technique uses the Control Flow Graph (CFG) of the application program to identify the most likely block of code that the system is executing at any given point in time. For the purpose of the experimental evaluation, we first instrument the source code to obtain power consumption information of each Basic Block (BB), which is used as the training data for our Dynamic Time Warping (DTW) and k-Nearest Neighbors (k-NN) classifier. Once the system is trained, this technique is used to identify live code-block execution (LCBE). We show that the technique can reconstruct the execution flow of programs in a multi-tasking environment with high accuracy. To aid the classification process, we analyze eight widely used machine learning algorithms with time-series power-traces data and show the comparison of time and computational resources for all the algorithms.

Description

Keywords

System tracing, Execution reconstruction, Powertracing, Multitasking system, Dynamic Time Warping, Non-Intrusive program tracing

LC Subject Headings

Citation