DOI QR코드

DOI QR Code

A Framework for Detecting Data Races in Weapon Software

무기체계 소프트웨어의 자료경합을 탐지하기 위한 프레임워크

  • Received : 2018.04.30
  • Accepted : 2018.09.06
  • Published : 2018.12.31

Abstract

Software has been used to develop many functions of the modern weapon systems which has a high mission criticality. Weapon system software must consider multi-threaded processing to satisfy growing performance requirement. However, developing multi-threaded programs are difficult because of concurrency faults, such as unintended data races. Especially, it is important to prepare analysis for debugging the data races, because the weapon system software may cause personal injury. In this paper, we present an efficient framework of analysis, called ConDeWS, which is designed to determine the scope of dynamic analysis through using the result of static analysis and fault analysis. As a result of applying the implemented framework to the target software, we have detected unintended data races that were not detected in the static analysis.

Keywords

OBDDBE_2018_v13n6_305_f0001.png 이미지

그림 1. ConDeWS 프레임워크 구조 Fig. 1 Structure of ConDeWS Framework

OBDDBE_2018_v13n6_305_f0002.png 이미지

그림 2 Phase 2 수행결과 (정적시험 결과를 FAR로 비교 분석) Fig. 2 Phase 2 execution results (Mapping of CWE rules and FAR analysis)

OBDDBE_2018_v13n6_305_f0003.png 이미지

그림 3. Phase 3 수행결과 (RaceChaser) Fig. 3 Phase 3 execution results of RaceChaser

OBDDBE_2018_v13n6_305_f0004.png 이미지

그림 4. Phase 3 수행결과(DT10) Fig. 4 Phase 3 Execution Results of DT10

표 1. NASA Handbook의 조사 시험도구 Table 1. Testing tools on NASA handbook

OBDDBE_2018_v13n6_305_t0001.png 이미지

표 2. Phase 2 수행 결과 Table 2. Phase 2 execution results

OBDDBE_2018_v13n6_305_t0002.png 이미지

References

  1. G.M. Choi, Y.H. Kim, G.I. Woo, "Software Reliability Assurance for Weapon System Quality Improvement(2)," Journal of Defense & Technology, Vol. 404, pp. 74-85, 2012. (in Korean)
  2. O.K. Ha, Y.K. Jun, "A Survey on Dynamic Detection for Data Races in Multithread Programs," Journal of KIISE, Vol. 33, No. 12, pp. 45-51, 2015. (in Korean)
  3. N. G.Leveson, C. S.Turner, "An Investigation of the Therac-25 Accidents," Journal of IEEE Computer Society, Vol. 26, No. 7, pp. 18-41, 1993.
  4. K. Poulsen, Software Bug Contributed to Blackout, SecurityFocus, 2004.
  5. M. Farrell, Facebook IPO : Wall Street's losses mount, CNNMoneyInvest, 2012
  6. S. A. Asadollah, D. Sundmark, S. Eldh, H. Hansson, "Concurrency Bugs in Open Source Software : a Case Study," Journal of Internet Services and Applications, Vol. 8, No. 1, 2017
  7. G.R. Lee, "Study on Management Improvement Plan of Ground Weapon System," Journal of Defense & Technology, Vol. 438, pp. 72-83, 2015. (in Korean)
  8. DAPA, Weapon System Software Development and Management Manual, DAPA, pp. 7-1 - 7-14, 2016 (in Korean).
  9. K.Y. Kwon, J.S. Joo, T.S. Kim, J.W. Oh, J.H. Baek, "A Study on Quality Assurance of Embedded Software Source Codes for Weapon Systems by Improving the Reliability Test Process," Journal of KIISE, Vol. 42, No. 7, pp. 860-867, 2015. (in Korean) https://doi.org/10.5626/JOK.2015.42.7.860
  10. Y.G. Song, Y.S. Park, Y.G. Lee, H.J. Jeong "Defense Field Weapon System Reliability Improvement Plan," Journal of Defense & Technology, Vol. 449, pp. 116-129, 2016. (in Korean)
  11. J.H. Noh, J.M. Lee, Y.H. Park, "Defect- Type Analysis of Regional SW Development Companies using CodeSonar," Journal of KIICE, Vol. 19, No. 3, pp. 683-688, 2015. (in Korean)
  12. MITRE, Common Weakness Enumeration (CWE), 2017, MITRE
  13. J. W. Kim, "A Case Study on Reliability Test of Embedded Software in the Multi-Function Radar," Journal of IKEEE, Vol. 19, No. 3, pp. 431-439, 2015. (in Korean) https://doi.org/10.7471/ikeee.2015.19.3.431
  14. NASA, NASA Software Engineering HandBook (NASA-HDBK-2203), NASA, 2013.
  15. B. Norris, B. Demsky, "CDSchecker: Checking Concurrent Data Structures Written with C/C++ Atomics," Journal of ACM SIGPLAN Notices, Vol. 48, No. 10 , pp. 131-150, 2013.
  16. C. Flanagan, S. N. Freund, "FastTrack: Efficient and Precise Dynamic Race Detection," Journal of ACM SIGPLAN Notices, Vol. 44, No. 6, pp. 121-133, 2009.
  17. I. Kuru, H. S. Matar, A. Cristal, G. Kestor, O. Unsal, "PaRV : Parallelizing Runtime Detection and Prevention of Concurrency Error," Proceedings of Runtime Verification, pp. 42-47, 2012.
  18. J. Yu, S. Narayanasamy, C. Pereira, G. Pokam, "Maple: A Coverage-Driven Testing Tool for Multithreaded Programs," Journal of ACM SIGPLAN Notices, Vol. 47, No. 10, pp. 485-502, 2012. https://doi.org/10.1145/2398857.2384651