journal article·2019-07-12Open access

CNN-Based Fault Localization Method Using Memory-Updated Patterns for Integration Test in an HiL Environment

Ki-Yong Choi, Jung-Won Lee

Applied Sciences· Volume 9· Issue 14

Abstract

Automotive electronic components are tested via hardware-in-the-loop (HiL) testing at the unit and integration test stages, according to ISO 26262. It is difficult to obtain debugging information from the HiL test because the simulator runs a black-box test automatically, depending on the scenario in the test script. At this time, debugging information can be obtained in HiL tests, using memory-updated information, without the source code or the debugging tool. However, this method does not know when the fault occurred, and it is difficult to select the starting point of debugging if the execution flow of the software is not known. In this paper, we propose a fault-localization method using a pattern in which each memory address is updated in the HiL test. Via a sequential pattern-mining algorithm in the memory-updated information of the transferred unit tests, memory-updated patterns are extracted, and the system learns using a convolutional neural network. Applying the learned pattern in the memory-updated information of the integration test can determine the fault point from the normal pattern. The point of departure from the normal pattern is highlighted as a fault-occurrence time, and updated addresses are presented as fault candidates. We applied the proposed method to an HiL test of an OSEK/VDX-based electronic control unit. Through fault-injection testing, we could find the cause of faults by checking the average memory address of 3.28%, and we could present the point of fault occurrence with an average accuracy of 80%.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Software Testing and Debugging Techniques · Real-time simulation and control systems · Software Reliability and Analysis Research

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Department of Electrical and Computer Engineering, Ajou University, Suwon 16499, Korea

Funding

National Research Foundation of Korea · MSIT(Ministry of Science and ICT), Korea

References (31)

Show source-provided references
1. Automotive Software10.1109/MS.2017.82 ↗
2. Klobedanz, K., Kuznik, C., Elfeky, A., and Müller, W. (2009). Development of automotive communication based real-time systems-a steer-by-wire case study. International Embedded Systems Symposium, Springer.10.1007/978-3-642-04284-3_20 ↗
3. Garg, M., and Lai, R. (2014, January 26–27). Measuring the constraint complexity of automotive embedded software systems. Proceedings of the 2014 International Conference on Data and Software Engineering (ICODSE), Bandung, Indonesia.10.1109/ICODSE.2014.7062701 ↗
4. Köhl, S., and Jegminat, D. (2005;, January 11–14). How to Do Hardware-in-the-Loop Simulation Right. Proceedings of the SAE 2005 World Congress & Exhibition, Detroit, MI, USA. No. 2005-01-1657.10.4271/2005-01-1657 ↗
5. ISO (2011). ISO 26262: Road Vehicles-Functional Safety-Part 6: Product Development at the Software Level, International Organization for Standardization. ISO 26262 Functional Safety Standard.
6. Hardware-in-the-Loop Simulation
7. Functional debug techniques for embedded systems10.1109/MDT.2008.66 ↗
8. A survey of software fault localization10.1109/TSE.2016.2521368 ↗
9. Qu, B., Nie, C., Xu, B., and Zhang, X. (2007, January 24–27). Test case prioritization for black box testing. Proceedings of the 31st Annual International Computer Software and Applications Conference (COMPSAC 2007), Beijing, China.10.1109/COMPSAC.2007.209 ↗
10. Zhang, X.Y., Towey, D., Chen, T.Y., Zheng, Z., and Cai, K.Y. (2015, January 1–5). Using partition information to prioritize test cases for fault localization. Proceedings of the 2015 IEEE 39th Annual Computer Software and Applications Conference, Taichung, Taiwan.10.1109/COMPSAC.2015.35 ↗
11. Mao, C., Hu, X., and Lu, Y. (2008, January 8–11). Towards a software diagnosis method based on rough set reasoning. Proceedings of the 2008 8th IEEE International Conference on Computer and Information Technology, Sydney, Australia.
12. (2019, May 31). MISRA-C:2004 Guidelines for the Use of the C Language in Critical Systems. Available online: http://caxapa.ru/thumbs/468328/misra-c-2004.pdf.
13. Choi, K.Y., and Lee, J.W. (2018). Fault Localization by Comparing Memory Updates between Unit and Integration Testing of Automotive Software in an Hardware-in-the-Loop Environment. Appl. Sci., 8.10.3390/app8112260 ↗
14. A taxonomy of sequential pattern mining algorithms10.1145/1824795.1824798 ↗
15. Bringmann, E., and Andreas, K. (2008, January 9–11). Model-based Testing of Automotive Systems. Proceedings of the 2008 1st International Conference on Software Testing, Verification, and Validation, Lillehammer, Norway.10.1109/ICST.2008.45 ↗
16. Sudeendra Kumar, K., Verghese, L., and Mahapatra, K.K. (2009, January 10–13). Fuzzy logic based integrated control of anti-lock brake system and collision avoidance system using can for electric vehicles. Proceedings of the IEEE International Conference on Industrial Technology (ICIT 2009), Gippsland, Australia.10.1109/ICIT.2009.4939720 ↗
17. Di Fatta, G., Leue, S., and Stegantova, E. (2006, January 6). Discriminative pattern mining in software fault detection. Proceedings of the 3rd International Workshop on Software Quality Assurance, Portland, OR, USA.10.1145/1188895.1188910 ↗
18. Cheng, H., Lo, D., Zhou, Y., Wang, X., and Yan, X. (2009, January 19–23). Identifying bug signatures using discriminative graph mining. Proceedings of the Eighteenth International Symposium on Software Testing and Analysis, Chicago, IL, USA.10.1145/1572272.1572290 ↗
19. Lo, D., Cheng, H., Han, J., Khoo, S.C., and Sun, C. (July, January 28). Classification of software behaviors for failure detection: A discriminative pattern mining approach. Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Paris, France.
20. Real-time motor fault detection by 1-D convolutional neural networks10.1109/TIE.2016.2582729 ↗
21. A convolutional neural network based feature learning and fault diagnosis method for the condition monitoring of gearbox10.1016/j.measurement.2017.07.017 ↗
22. Yao, Y., Wang, H., Li, S., Liu, Z., Gui, G., Dan, Y., and Hu, J. (2018). End-to-end convolutional neural network model for gear fault diagnosis based on sound signals. Appl. Sci., 8.10.3390/app8091584 ↗
23. Collecting Big Data from Automotive ECUs beyond the CAN Bandwidth for Fault Visualization
24. (2019, May 31). Vector Embedded Components. Available online: https://www.vector.com/int/en/products/products-a-z/embedded-components/.
25. Fournier-Viger, P., Gomariz, A., Campos, M., and Thomas, R. (2014). Fast vertical mining of sequential patterns using co-occurrence information. Pacific-Asia Conference on Knowledge Discovery and Data Mining, Springer.10.1007/978-3-319-06608-0_4 ↗
26. (2019, May 31). SPMF: A Java Open-Source Data Mining Library. Available online: http://www.philippe-fournier-viger.com/spmf/.
27. (2019, May 31). CS231n: Convolutional Neural Networks for Visual Recognition. Available online: http://cs231n.stanford.edu/.
28. (2019, May 31). NXP 16-Bit S12 and S12X MCUs|NXP. Available online: https://www.nxp.com/products/processors-and-microcontrollers/additional-processors-and-mcus/8-16-bit-mcus/16-bit-s12-and-s12x-mcus:S12S12X.
29. Agrawal, H., DeMillo, R.A., Hathaway, B., Hsu, W., Hsu, W., Krauser, E.W., Martin, R.J., Mathur, A.P., and Spafford, E. (1989). Design of Mutant Operators for the C Programming Language, Software Engineering Research Center, Department of Computer Science, Purdue University. Technical Report SERC-TR-41-P.
30. (2019, May 31). Anaconda Python/R Distribution—Anaconda. Available online: https://www.anaconda.com/distribution/.
31. (2019, May 31). Keras: The Python Deep Learning Library. Available online: https://keras.io/.