TY - GEN
T1 - Verifying Timed Properties of Programs in IoT nodes using Parametric Time Petri Nets
AU - André, Étienne
AU - Béchennec, Jean Luc
AU - Chattopadhyay, Sudipta
AU - Faucou, Sébastien
AU - Lime, Didier
AU - Marinho, Dylan
AU - Roux, Olivier H.
AU - Sun, Jun
N1 - Publisher Copyright:
Copyright © 2025 held by the owner/author(s).
PY - 2025/5/14
Y1 - 2025/5/14
N2 - The analysis of timed properties of programs is a complex task, as it is highly dependent on both the software and the hardware. In this work, we propose a framework for modeling with timed formal models the execution of programs, taking into account the micro-architecture of the machine on which it executes. We model both the program, at the instruction set architecture level, and the hardware, including the processor micro-architecture, using time Petri nets. Our implementation uses the ARM Cortex-M instruction set architecture and a hardware architecture representative of microcontrollers used in IoT nodes. The whole translation is fully automated and allows, starting from binary code, to automatically produce the models usable by the state-of-the-art time Petri net model checker Roméo. In addition, and as a proof of concept, we show how we can check, and enforce to some extent, opacity properties on programs, leveraging the ability of Roméo to verify a parametric timed extension of the classical computation tree logic.
AB - The analysis of timed properties of programs is a complex task, as it is highly dependent on both the software and the hardware. In this work, we propose a framework for modeling with timed formal models the execution of programs, taking into account the micro-architecture of the machine on which it executes. We model both the program, at the instruction set architecture level, and the hardware, including the processor micro-architecture, using time Petri nets. Our implementation uses the ARM Cortex-M instruction set architecture and a hardware architecture representative of microcontrollers used in IoT nodes. The whole translation is fully automated and allows, starting from binary code, to automatically produce the models usable by the state-of-the-art time Petri net model checker Roméo. In addition, and as a proof of concept, we show how we can check, and enforce to some extent, opacity properties on programs, leveraging the ability of Roméo to verify a parametric timed extension of the classical computation tree logic.
KW - execution time
KW - formal methods
KW - program verification
KW - timing attacks
UR - https://www.scopus.com/pages/publications/105006451284
U2 - 10.1145/3672608.3707861
DO - 10.1145/3672608.3707861
M3 - Conference contribution
AN - SCOPUS:105006451284
T3 - Proceedings of the ACM Symposium on Applied Computing
SP - 1998
EP - 2006
BT - 40th Annual ACM Symposium on Applied Computing, SAC 2025
PB - Association for Computing Machinery
T2 - 40th Annual ACM Symposium on Applied Computing, SAC 2025
Y2 - 31 March 2025 through 4 April 2025
ER -