Understanding Bounding Functions in Safety-Critical UAV Software

被引:2
作者
Liang, Xiaozhou [1 ]
Burns, John Henry [1 ]
Sanchez, Joseph [1 ]
Dantu, Karthik [2 ]
Ziarek, Lukasz [2 ]
Liu, Yu David [1 ]
机构
[1] SUNY Binghamton, Binghamton, NY 13902 USA
[2] SUNY Buffalo, Buffalo, NY USA
来源
2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021) | 2021年
关键词
unmanned aerial vehicles; hounding functions; safety; SYSTEMS;
D O I
10.1109/ICSE43902.2021.00119
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Unmanned Aerial Vehicles (UAVs) are an emerging computation platform known for their safety-critical need. In this paper, we conduct an empirical study on a widely used open-source UAV software framework, Paparazzi, with the goal of understanding the safety-critical concerns of UAV software from a bottom-up developer-in-the-field perspective. We set our focus on the use of Bounding Functions (BFs), the runtime checks injected by Paparazzi developers on the range of variables. Through an in-depth analysis on BFs in the Paparazzi autopilot software, we found a large number of them (109 instances) are used to bound safety-critical variables essential to the cyber-physical nature of the UAV, such as its thrust, its speed, and its sensor values. The novel contributions of this study are two fold. First, we take a static approach to classify all BF instances, presenting a novel datatype-based 5-category taxonomy with fine-grained insight on the role of BFs in ensuring the safety of UAV systems. Second, we dynamically evaluate the impact of the BF uses through a differential approach, establishing the UAV behavioral difference with and without BFs. The two-pronged static and dynamic approach together illuminates a rarely studied design space of safety-critical UAV software systems.
引用
收藏
页码:1311 / 1322
页数:12
相关论文
共 34 条
  • [1] Anderson D., 2015, AIRPLANES FLY PHYS D
  • [2] [Anonymous], 1995, PID CONTROLLERS THEO
  • [3] Araki M., 2009, Control Systems, Robotics, and Automation, V2 of Control, P58
  • [4] Arkam Pir, 2020, DOES PLANE FLY
  • [5] Testing Vision-Based Control Systems Using Learnable Evolutionary Algorithms
    Ben Abdessalem, Raja
    Nejati, Shiva
    Briand, Lionel C.
    Stifter, Thomas
    [J]. PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2018, : 1016 - 1026
  • [6] A static analyzer for large safety-critical software
    Blanchet, B
    Cousot, P
    Cousot, R
    Feret, J
    Mauborgne, L
    Miné, A
    Monniaux, D
    Rival, X
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (05) : 196 - 207
  • [7] Bums J. H., 2020, 12 INT WORKSH CONT O 12 INT WORKSH CONT O
  • [8] Software Engineering for Self-Adaptive Systems: A Research Roadmap
    Cheng, Betty H. C.
    de Lemos, Rogerio
    Giese, Holger
    Inverardi, Paola
    Magee, Jeff
    Andersson, Jesper
    Becker, Basil
    Bencomo, Nelly
    Brun, Yuriy
    Cukic, Bojan
    Serugendo, Giovanna Di Marzo
    Dustdar, Schahram
    Finkelstein, Anthony
    Gacek, Cristina
    Geihs, Kurt
    Grassi, Vincenzo
    Karsai, Gabor
    Kienle, Holger M.
    Kramer, Jeff
    Litoiu, Marin
    Malek, Sam
    Mirandola, Raffaela
    Mueller, Hausi A.
    Park, Sooyong
    Shaw, Mary
    Tichy, Matthias
    Tivoli, Massimo
    Weyns, Danny
    Whittle, Jon
    [J]. SOFTWARE ENGINEERING FOR SELF-ADAPTIVE SYSTEMS, 2009, 5525 : 1 - +
  • [9] SLEMI: Equivalence Modulo Input (EMI) Based Mutation of CPS Models for Finding Compiler Bugs in Simulink
    Chowdhury, Shafiul Azam
    Shrestha, Sohil Lal
    Johnson, Taylor T.
    Csallner, Christoph
    [J]. 2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, : 335 - 346
  • [10] Automatically Finding Bugs in Commercial Cyber-Physical System Development Tool Chains
    Chowdhury, Shafiul Azam
    [J]. PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 506 - 508