Jakub Lojda, R. Panek, Jakub Podivinsky, Ondrej Cekan, Martin Krcma, Z. Kotásek
{"title":"通过故障注入测试嵌入式软件:以智能锁为例","authors":"Jakub Lojda, R. Panek, Jakub Podivinsky, Ondrej Cekan, Martin Krcma, Z. Kotásek","doi":"10.1109/LATS53581.2021.9651770","DOIUrl":null,"url":null,"abstract":"The growing chip-level integration results in a higher susceptibility to faults of today components. This also relates to commonly used storage memories. A charged particle causes bit flip and a program stored in such memory starts to behave differently from it was supposed to. Even worse, such bit flips can be induced also on purpose to tamper with a device. While the so-called smart devices are becoming still more popular these days, such failure or even tampering of them is very undesired. A smart electronic lock can serve as an example. This is why in this paper, we evaluate the consequences of such program corruption. We target smart lock operation on several computer architectures and show the results on our case study observing the change of the lock behavior. We present our Evaluation Environment that is able to connect with single-board computers and evaluation kits to test the SW behavior on them, which is done under the presence of faults in the tested SW. Our results indicate that the most sensitive part of a program is generally the loading of shared libraries. Problem in this process results in inability to load the program. Segmentation Fault and early termination of the program (e.g. problem in the logic of motor cycle counting) is also serious. The least problematic, according to our observations, is the syntactic error in the output data. In such cases, the motor driver ignores corrupted commands and the motor move is not smooth. Certain findings from the experimental part of this paper, can be generalized to other devices as well.","PeriodicalId":404536,"journal":{"name":"2021 IEEE 22nd Latin American Test Symposium (LATS)","volume":"191 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Testing Embedded Software Through Fault Injection: Case Study on Smart Lock\",\"authors\":\"Jakub Lojda, R. Panek, Jakub Podivinsky, Ondrej Cekan, Martin Krcma, Z. Kotásek\",\"doi\":\"10.1109/LATS53581.2021.9651770\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The growing chip-level integration results in a higher susceptibility to faults of today components. This also relates to commonly used storage memories. A charged particle causes bit flip and a program stored in such memory starts to behave differently from it was supposed to. Even worse, such bit flips can be induced also on purpose to tamper with a device. While the so-called smart devices are becoming still more popular these days, such failure or even tampering of them is very undesired. A smart electronic lock can serve as an example. This is why in this paper, we evaluate the consequences of such program corruption. We target smart lock operation on several computer architectures and show the results on our case study observing the change of the lock behavior. We present our Evaluation Environment that is able to connect with single-board computers and evaluation kits to test the SW behavior on them, which is done under the presence of faults in the tested SW. Our results indicate that the most sensitive part of a program is generally the loading of shared libraries. Problem in this process results in inability to load the program. Segmentation Fault and early termination of the program (e.g. problem in the logic of motor cycle counting) is also serious. The least problematic, according to our observations, is the syntactic error in the output data. In such cases, the motor driver ignores corrupted commands and the motor move is not smooth. Certain findings from the experimental part of this paper, can be generalized to other devices as well.\",\"PeriodicalId\":404536,\"journal\":{\"name\":\"2021 IEEE 22nd Latin American Test Symposium (LATS)\",\"volume\":\"191 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-10-27\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 IEEE 22nd Latin American Test Symposium (LATS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/LATS53581.2021.9651770\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE 22nd Latin American Test Symposium (LATS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/LATS53581.2021.9651770","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Testing Embedded Software Through Fault Injection: Case Study on Smart Lock
The growing chip-level integration results in a higher susceptibility to faults of today components. This also relates to commonly used storage memories. A charged particle causes bit flip and a program stored in such memory starts to behave differently from it was supposed to. Even worse, such bit flips can be induced also on purpose to tamper with a device. While the so-called smart devices are becoming still more popular these days, such failure or even tampering of them is very undesired. A smart electronic lock can serve as an example. This is why in this paper, we evaluate the consequences of such program corruption. We target smart lock operation on several computer architectures and show the results on our case study observing the change of the lock behavior. We present our Evaluation Environment that is able to connect with single-board computers and evaluation kits to test the SW behavior on them, which is done under the presence of faults in the tested SW. Our results indicate that the most sensitive part of a program is generally the loading of shared libraries. Problem in this process results in inability to load the program. Segmentation Fault and early termination of the program (e.g. problem in the logic of motor cycle counting) is also serious. The least problematic, according to our observations, is the syntactic error in the output data. In such cases, the motor driver ignores corrupted commands and the motor move is not smooth. Certain findings from the experimental part of this paper, can be generalized to other devices as well.