Automated Generation of Model-Based Constraints for Common Multi-core and Real-Time Applications Using Execution Tracing

Citation
Beamonte, R., Ezzati-Jivan, N. & Dagenais, M.R. Automated Generation of Model-Based Constraints for Common Multi-core and Real-Time Applications Using Execution Tracing. Int J Parallel Prog 49, 104–134 (2021). doi:10.1007/s10766-020-00689-5

Abstract

Analyzing the runtime of a real-time application is particularly difficult with interferences from concurrently running processes. Low-overhead tracing is usually the most reliable tool to understand and check the behavior of such applications. In previous work, the automatic detection of common real-time problems was proposed, using models and constraints over the behavior of the application and operating system. Such a model automates system verification, alleviating the need for a thorough and deep understanding of all the system internals, and reduces drastically the time needed to find root causes for problems. Nevertheless, coming up with a model is not trivial. In this paper, we present a way to automate building a model of the process with constraints, based on user-space and kernel execution traces. Recurrent event sequences are used to build an approximate model of the behavior, and typical timings are used for setting up tentative constraints. The resulting model can then be refined as needed through user intervention. Our algorithms and their scalability have been tested and the experimental results show that our approach allows to build a model to automatically detect common problems in applications, with a relatively modest analysis cost.

This research paper explores the automated generation of model-based constraints for multi-core and real-time applications through execution tracing techniques.

Published in:

DOI: 10.1007/s10766-020-00689-5