Dynamic Software Randomisation: Lessons Learned From an Aerospace Case Study
Fabrice Cros1, Leonidas Kosmidis2,3, Franck Wartel1, David Morales2, Jaume Abella2, Ian Broster4 and Francisco J. Cazorla2,5
1Airbus Defence and Space, France
2Barcelona Supercomputing Center (BSC), Spain
3Universitat Politècnica de Catalunya, Spain
4Rapita Systems, UK
5Spanish National Research Council (IIIA-CSIC), Spain
ABSTRACT
Timing Validation and Verification (V&V) is an important step in real-time system design, in which a system's timing behaviour is assessed via Worst Case Execution Time (WCET) estimation and scheduling analysis. For WCET estimation, measurement-based timing analysis (MBTA) techniques are widely-used and well-established in industrial environments. However, the advent of complex processors makes it more difficult for the user to provide evidence that the software is tested under stress conditions representative of those at system operation. Measurement-Based Probabilistic Timing Analysis (MBPTA) is a variant of MBTA followed by the PROXIMA European Project that facilitates formulating this representativeness argument. MBPTA requires certain properties to be applicable, which can be obtained by selectively injecting randomisation in platform's timing behaviour via hardware or software means.
In this paper, we assess the effectiveness of the PROXIMA's dynamic software randomisation (DSR) with a space industrial case study executed on a real unmodified hardware platform and an industrial operating system. We present the challenges faced in its development, in order to achieve MBPTA compliance and the lessons learned from this process. Our results, obtained using a commercial timing analysis tool, indicate that DSR does not impact the average performance of the application, while it enables the use of MBPTA. This results in tighter pWCET estimates compared to current industrial practice.