DOI QR코드

DOI QR Code

Fault Localization Method by Utilizing Memory Update Information and Memory Partitioning based on Memory Map

메모리 맵 기반 메모리 영역 분할과 메모리 갱신 정보를 활용한 결함 후보 축소 기법

  • Received : 2016.03.16
  • Accepted : 2016.06.08
  • Published : 2016.09.15

Abstract

In recent years, the cost of automotive ECU (Electronic Control Unit) has accounted for more than 30% of total car production cost. However, the complexity of testing and debugging an automotive ECU is increasing because automobile manufacturers outsource automotive ECU production. Therefore, a large amount of cost and time are spent to localize faults during testing an automotive ECU. In order to solve these problems, we propose a fault localization method in memory for developers who run the integration testing of automotive ECU. In this method, memory is partitioned by utilizing memory map, and fault-suspiciousness for each partition is calculated by utilizing memory update information. Then, the fault-suspicious region for partitions is decided based on calculated fault-suspiciousness. The preliminary result indicated that the proposed method reduced the fault-suspicious region to 15.01(%) of memory size.

요즘 자동차 제작비용 중 차량용 전자장치에 사용되는 비용이 30% 이상을 차지하고 있다. 따라서 차량용 전자장치에 사용되는 비용 절약의 필요성이 증가하고 있다. 그런데, 완성차 업체들은 차량용 전장부품을 제작하는 일을 대부분 외주 업체에 맡기기 때문에 전장부품의 테스트 및 디버깅의 복잡도가 증가하고 있다. 이로 인해, 차량용 전장부품의 테스트 시에 발생하는 결함의 위치를 찾아내는데 많은 비용과 시간을 소비하고 있다. 이러한 문제를 해결하기 위해, 본 논문에서는 차량용 전장부품을 대상으로 통합 테스팅을 수행하는 검사자가 메모리상의 결함후보를 축소할 수 있는 기법을 제안한다. 본 기법에서는 메모리 맵을 이용하여 메모리를 분할하고, 분할된 메모리 영역에 메모리 갱신 정보를 적용해 각 분할 영역의 결함 의심도를 계산한다. 이렇게 계산된 결함 의심도를 기준으로 분할 영역들의 결함 의심순위를 결정할 수 있다. 제안하는 기법을 이용해 결함 후보 영역을 전체 메모리 크기의 1/6 정도로 축소했다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. Yash Vardhan Pant, Miroslav Pajic, Rahul Mangharam, "AUTOPLUG: An Architecture for Remote Electronic Controller Unit Diagnostics in Automotive Systems," Technical Report, 2012.
  2. Roy Awedikian, Bernard Yannou, "A practical model-based statistical approach for generating functional test cases: application in the automotive industry," The Journal of Software: Testing, Verification and Reliability, 2014.
  3. Sebastian Siegl, Kai-Steffen Hielscher, Reinhard German, "Model Based Requirements Analysis and Testing of Automotive Systems with Timed Usage Models," The 18th IEEE International on Requirements Engineering Conference, pp. 345-350, 2010.
  4. Peter Bunus, Peter Fritzson, "Semi-Automatic Fault Localization and Behavior Verification for Physical System Simulation Models," The 18th IEEE International on Automated Software Engineering Conference, 2003.
  5. Abhinaya Kasoju, Kai Petersen, Mika V. Mantyla, "Analyzing an automotive testing process with evidence-based software engineering," Information and Software Technology, Vol. 55, pp. 1237-1259, 2013. https://doi.org/10.1016/j.infsof.2013.01.005
  6. Ki-Yong Choi, Jooyoung Seo, Seung Yeun Jang and Jung-Won Lee, "HiL Testing based Fault Localization Method using Memory Update Frequency," Advances in Computer Science and Ubiquitous Computing, Springer Singapore, pp. 765-772, 2015.
  7. W. Eric Wong, Joseph R. Horgan, Saul London, Aditya P. Mathur, "Effect of Test Set Minimization on Fault Detection Effectiveness," The 17th international conference on Software engineering, 1995.
  8. Michael Barr, Anthony Massa, "Programming Embedded Systems With C and Gnu Development Tools," O'Reilly Media, 2006.
  9. Mark Weiser, "Programmers Use Slices When Debugging," Communications of the ACM, Vol. 25, pp. 446-452, 1982. https://doi.org/10.1145/358557.358577
  10. Cyrille Artho, "Iterative delta debugging," International Journal on Software Tools for Technology Transfer, Vol. 13, pp. 223-246, 2011. https://doi.org/10.1007/s10009-010-0139-9
  11. Xiaoyuan Xie, et al., "Spectrum-Based Fault Localization without Test Oracles," Technical Report UTDCS-07-10, 2010.
  12. Wes Masri, Rawad Abou-Assi, Marwa El-Ghali, Nour Al-Fatairi, "An Empirical Study of the Factors that Reduce the Effectiveness of Coverage-based Fault Localization," The 2nd International Workshop on Defects in Large Software Systems, pp. 1-5, 2009.
  13. Kwang Ik Seo, Eun Man Choi, "Comparison of Five Black-box Testing Methods for Object-Oriented Software," The Fourth International Conference on Software Engineering Research, Management and Applications, pp. 213-220, 2006.
  14. Srinivas Nidhra, Jagruthi Dondeti, "Black Box and White Box Testing Techniques - A Literature Review," International Journal of Embedded Systems and Applications, Vol. 2, No. 2, pp. 29-50, 2012. https://doi.org/10.5121/ijesa.2012.2204
  15. Bart Vermeulen, "Functional debug techniques for embedded systems," IEEE on Design & Test of Computers, pp. 208-215, 2008.
  16. Jeong-Woo Lee, Ki-Yong Choi, Seung Yeun Jang and Jung-Won Lee, "Data Cascading Method for the Large Automotive Data Acquisition Beyond the CAN Bandwidth in HiL Testing," Advances in Computer Science and Ubiquitous Computing, Springer Singapore, pp. 773-780, 2015.
  17. Rongxin Wu, et al., "CrashLocator: Locating Crashing Faults Based on Crash Stacks," The 2014 International Symposium on Software Testing and Analysis, pp. 204-214, 2014.
  18. Wei-Ngan Chin, Huu Hai Nguyen, Corneliu Popeea, Shengchao Qin, "Analysing Memory Resource Bounds for Low-Level Programs," International Symposium on Memory Management, 2008.
  19. Thomas Zimmermann and Andreas Zeller, "Visualizing memory graphs," The International Dagstuhl Seminar on Software Visualization, Vol. 2269 of LNCS, pp. 191-204, 2002.
  20. Andreas Zeller, "Isolating cause-effect chains from computer programs," The International Symposium on the Foundations of Software Engineering, pp. 1-10, 2002.