DOI QR코드

DOI QR Code

Static Analysis and Improvement Opportunities for Open Source of UAV Flight Control Software

무인비행체 비행제어 Open Source 소프트웨어에 대한 정적분석 및 개선방안

  • Received : 2021.01.11
  • Accepted : 2021.03.29
  • Published : 2021.06.01

Abstract

In this paper, We analyze and present improvements to problems in software quality through Static Analysis for Open Source, which is widely used as the Flight Controller software for small unmanned aerial vehicle drones. MISRA coding rules, which are widely applied based on software quality, have been selected. Static analysis tools were used by LDRA tools certified international tools used in all industries, including automobiles, railways, nuclear power and healthcare, as well as aviation. We have identified some safety-threatening problems across the quality of the software, such as structure of open source modules, analysis of usage data, compliance with coding rules, and quality indicators (complexity and testability), and have presented improvements.

소형 무인비행체 드론의 비행제어기(Flight Controller) 소프트웨어로 널리 사용되고 있는 오픈소스(Open Source)에 대한 정적분석(Static Analysis)을 통해 소프트웨어 품질의 문제점을 분석하고 개선 방안을 제시한다. 소프트웨어 품질 기준으로는 국제적으로 널리 적용되고 있는 MISRA 코딩 규칙을 선정하였으며, 정적분석 도구는 국제 도구인증(Tool Certification)을 받아 항공분야 뿐만 아니라 안전성(Safety)이 요구되는 자동차, 철도, 원자력, 의료 등 모든 산업에서 활용되고 있는 LDRA Tool을 사용하였다. 오픈소스 모듈의 구조, 사용 데이터 분석, 코딩 규칙 준수, 품질 지표(복잡도 및 시험성) 등 소프트웨어의 품질 전반에서 안전성을 위협하는 문제점들을 발견하였으며, 이에 대한 개선 방안을 제시하였다.

Keywords

Acknowledgement

본 연구는 국토교통부/국토교통과학기술진흥원의 지원으로 수행되었음(과제번호: 21DPIW-C153651-03, 과제명: 공공혁신조달 무인이동체 통합기술관리 및 시험평가체계 개발).

References

  1. The open standards for drone hardware (https://pixhawk.org)
  2. Kim, T. G. Kim, C. H. Rhee, J. H. Fan Fei, Zhan Tu, Gregory Walkup, Xiangyu Zhang, Xinyan Deng and Dongyan Xu, "RVFuzzer: Finding Input Validation Bugs in Robotic Vehicles Through Control-Guided Testing," 28th USENIX Security Symposium, August 14-16, 2019, pp. 425~442.
  3. ALIAS ROBOTICS Robot Cybersecurity, The Cybersecurity Status of PX4, pp. 11~18.
  4. SGS-TUV Saar GmbH, Certificate NO FS/71/220/15/0105 for LDRA tool suite (CERT. REPORT NO. K1C20003), 2015.
  5. LDRA Ltd., User Guide for LDRA tool suite Version 9.5, 2016, pp. 341~343.
  6. MISRA, MISRA-C++:2008, Guidelines for the use of the C++ language in critical systems, 2008, pp. 17~173.
  7. LDRA Ltd., MISRA-C++:2008 Standards Model Compliance for C++, 2020.
  8. RTCA Inc, DO-178C, Software Considerations in Airborne Systems and Equipment Certification, 2011, p. 100.
  9. IEC, IEC 61508-3, Functional safety of electrical/ electronic/programmable electronic safety-related systems - Part 3: Software requirements, 2nd Ed., 2010, p. 57.
  10. ISO, ISO 26262-6, Road Vehicles-Functional Safety-Product development at the software level, 2011, p. 26.
  11. IEC, IEC 62279, Railway applications - Communication, signalling and processing systems - Software for railway control and protection systems, 2nd Ed., 2015, p. 75.
  12. IEC, IEC 60880, Nuclear power plants - Instrumentation and control systems important to safety - Software aspects for computer-based systems performing category A functions, 2nd Ed., 2006, p. 161.
  13. IEC, IEC 62304, Medical device software - Software life cycle processes, 1st Ed., 2006, pp. 90~91.