With increased inter-connectivity among disparate devices, such as Internet-of-Things (IoT) devices, including those deployed in a nation's critical infrastructure, there is a need to ensure that any failure in the deployed devices can be detected. The capability to automatically detect device failures is particularly crucial in a large-scale, complex IoT system, since it can be very time-consuming and challenging to investigate a large number of geographically-dispersed devices that are also of different makes and types. In this paper, we present a faulty-device identification technique that is designed to achieve lightweight processor-level architectural support. Specifically, a hardware-based monitoring agent is incorporated within a processor and connected to a separate monitoring program when an examination is required. By analyzing information collected by the agent, the monitoring program determines whether the device being monitored is functioning. Findings from our detailed evaluation demonstrate that the proposed approach can detect around 90 percent of the failures with minimal hardware overhead of approximately 5k gates. This area overhead is reasonable and amounts to 7.69 percent of the ARM Cortex-M4 - a lightweight IoT-class processor - that has a total area (excluding optional caches and scratch-pad memory) of 65k gates.
|Number of pages||12|
|Journal||IEEE Transactions on Dependable and Secure Computing|
|Publication status||Published - 2022|
Bibliographical notePublisher Copyright:
© 2004-2012 IEEE.
- control-flow integrity
- Internet-of-Things (IoT)
- Self testing
ASJC Scopus subject areas
- Computer Science(all)
- Electrical and Electronic Engineering