Multi-architecture Value Analysis for Machine CodeReport as inadecuate

Multi-architecture Value Analysis for Machine Code - Download this document for free, or read online. Document in PDF available to download.

1 IRIT - Institut de recherche en informatique de Toulouse

Abstract : Safety verification of critical real-time embedded systems requires Worst Case Execution Time information WCET. Among the existing approaches to estimate the WCET, static analysis at the machine code level has proven to get safe results. A lot of different architectures are used in real-time systems but no generic solution provides the ability to perform static analysis of values handled by machine instructions. Nonetheless, results of such analyses are worth to improve the precision of other analyzes like data cache, indirect branches, etc. This paper proposes a semantic language aimed at expressing semantics of machine instructions whatever the underlying instruction set is. This ensures abstraction and portability of the value analysis or any analysis based on the semantic expression of the instructions. As a proof of concept, we adapted and refined an existing analysis representing values as Circular-Linear Progression CLP, that is, as a sparse integer interval effective to model pointers. In addition, we show how our semantic instructions allow to build back conditions of loop in order to refine the CLP values and improve the precision of the analysis. Both contributions have been implemented in our framework, OTAWA, and experimented on the Malardalen benchmark to demonstrate the effectiveness of the approach.

Keywords : Machine code Static analysis Value analysis Semantics

Author: Hugues Cassé - Florian Birée - Pascal Sainrat -



Related documents