{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,21]],"date-time":"2026-03-21T21:14:32Z","timestamp":1774127672030,"version":"3.50.1"},"reference-count":58,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2025,4,28]],"date-time":"2025-04-28T00:00:00Z","timestamp":1745798400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"crossref","award":["62232013"],"award-info":[{"award-number":["62232013"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2025,5,31]]},"abstract":"<jats:p>Configurations are supported by most flight control systems, allowing users to control a flying drone adapted to complexities such as environmental changes or mission alterations. Such an advanced functionality also introduces a significant problem\u2014misconfiguration settings. It may cause drone instability, threaten drone safety, and potentially lead to substantial financial loss. However, detecting and rectifying misconfigurations across different flight control systems is challenging because (1) (mis)configuration-related code snippets might be syntactically correct and thus hard to identify through traditional code analysis; (2) the response to each configuration varies under different flying scenarios.<\/jats:p>\n          <jats:p>\n            In this article, we propose and implement a novel rectification approach,\n            <jats:sc>Nyctea<\/jats:sc>\n            , to detect instability caused by misconfigurations and conduct an on-the-fly rectification.\n            <jats:sc>Nyctea<\/jats:sc>\n            first continuously inspects state changes over consecutive time intervals and calculates the overall deviations to determine whether a drone is in a transition of instability to control loss. When a potential instability is reported,\n            <jats:sc>Nyctea<\/jats:sc>\n            instantly invokes a pre-trained intelligent agent to automatically generate proper configurations and then re-configure the drone against entering a state of loss of control. This process of reconfiguration is conducted iteratively until the instability is eliminated. We integrated\n            <jats:sc>Nyctea<\/jats:sc>\n            with the widely used flight control system,\n            <jats:italic>Ardupilot<\/jats:italic>\n            and\n            <jats:italic>PX4<\/jats:italic>\n            . The simulated and practical experiment results showed that\n            <jats:sc>Nyctea<\/jats:sc>\n            successfully eliminates instabilities caused by 85% of misconfigurations. For each misconfiguration,\n            <jats:sc>Nyctea<\/jats:sc>\n            averagely generated 4 to 5 configurations to achieve a successful rectification.\n          <\/jats:p>","DOI":"10.1145\/3702994","type":"journal-article","created":{"date-parts":[[2024,11,2]],"date-time":"2024-11-02T15:26:49Z","timestamp":1730561209000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Real-time Rectifying Flight Control Misconfiguration Using Intelligent Agent"],"prefix":"10.1145","volume":"34","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6859-6005","authenticated-orcid":false,"given":"Ruidong","family":"Han","sequence":"first","affiliation":[{"name":"Singapore Management University, Singapore, Singapore and Xidian University, Xian, China"}]},{"ORCID":"https:\/\/orcid.org\/0009-0001-6020-2216","authenticated-orcid":false,"given":"Shangzhi","family":"Xu","sequence":"additional","affiliation":[{"name":"The University of New South Wales, Sydney, Australia"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7978-595X","authenticated-orcid":false,"given":"Juanru","family":"Li","sequence":"additional","affiliation":[{"name":"Feiyu Security, Shanghai, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4029-7051","authenticated-orcid":false,"given":"Elisa","family":"Bertino","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, IN, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4367-7201","authenticated-orcid":false,"given":"David","family":"Lo","sequence":"additional","affiliation":[{"name":"Singapore Management University, Singapore, Singapore"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4251-1143","authenticated-orcid":false,"given":"JianFeng","family":"Ma","sequence":"additional","affiliation":[{"name":"Xidian University, Xian, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3479-5713","authenticated-orcid":false,"given":"Siqi","family":"Ma","sequence":"additional","affiliation":[{"name":"The University of New South Wales, Sydney, Australia"}]}],"member":"320","published-online":{"date-parts":[[2025,4,28]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"GitHub. 2024. Pymavlink \u2013 A python implementation of the MAVLink protocol. Retrieved from https:\/\/github.com\/ArduPilot\/pymavlink"},{"key":"e_1_3_1_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2021.3120680"},{"key":"e_1_3_1_4_2","unstructured":"Ardupilot. 2024. Ardupilot \u2013 Versatile trusted open autopilot software for drones and other autonomous systems. Retrieved from https:\/\/ardupilot.org"},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1088\/1361-6498\/abd074"},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","DOI":"10.3390\/math10234539"},{"key":"e_1_3_1_7_2","doi-asserted-by":"publisher","DOI":"10.1139\/juvs-2018-0009"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.apenergy.2012.03.054"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1139\/juvs-2018-0005"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/3372297.3417249"},{"key":"e_1_3_1_11_2","first-page":"349","volume-title":"Proceedings the 23rd International Symposium on Research in Attacks, Intrusions and Defenses (RAID)","author":"Choi Hongjun","year":"2020","unstructured":"Hongjun Choi, Sayali Kate, Yousra Aafer, Xiangyu Zhang, and Dongyan Xu. 2020. Software-based realtime recovery from sensor attacks on robotic vehicles. In Proceedings the 23rd International Symposium on Research in Attacks, Intrusions and Defenses (RAID), 349\u2013364."},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/3243734.3243752"},{"key":"e_1_3_1_13_2","first-page":"841","volume-title":"Proceedings of the 29th USENIX Security Symposium (USENIX Security)","author":"Cloosters Tobias","year":"2020","unstructured":"Tobias Cloosters, Michael Rodler, and Lucas Davi. 2020. \\(\\{\\) TeeRex \\(\\}\\) : Discovery and exploitation of memory corruption vulnerabilities in \\(\\{\\) SGX \\(\\}\\) enclaves. In Proceedings of the 29th USENIX Security Symposium (USENIX Security), 841\u2013858."},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN48987.2021.00020"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN58367.2023.00020"},{"key":"e_1_3_1_16_2","unstructured":"DroneCode. 2024. PX4 \u2013 An Open Source Flight Control Software for Drones and Other Unmanned Vehicles. Retrieved from https:\/\/px4.io\/"},{"key":"e_1_3_1_17_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.asoc.2024.111581"},{"key":"e_1_3_1_18_2","unstructured":"Simulator Example. 2024. Thrust Loss. Retrieved from https:\/\/youtu.be\/nsdNRPihif8"},{"key":"e_1_3_1_19_2","unstructured":"Real Flight Example. 2024. Real Flight. Retrieved from https:\/\/youtu.be\/ZAidyll9z8A"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/MILCOM52596.2021.9653036"},{"key":"e_1_3_1_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/TIFS.2023.3326985"},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2024.3354739"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510084"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/COMST.2021.3097916"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1109\/TVT.2021.3096928"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2023.24616"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2023.24112"},{"key":"e_1_3_1_28_2","first-page":"43","volume-title":"Proceedings of the IEEE Symposium on Security and Privacy (SP)","author":"Jiang Jiasheng","year":"2023","unstructured":"Jiasheng Jiang, Jingzheng Wu, Xiang Ling, Tianyue Luo, Sheng Qu, and Yanjun Wu. 2023. APP-miner: Detecting API misuses via automatically mining API Path patterns. In Proceedings of the IEEE Symposium on Security and Privacy (SP). IEEE Computer Society, 43\u201343."},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/CCDC.2017.7979077"},{"key":"e_1_3_1_30_2","first-page":"1","volume-title":"Proceedings of the World congress on Engineering and Computer Science","volume":"2","author":"Kada Belkacem","year":"2011","unstructured":"Belkacem Kada and Y. Ghazzawi. 2011. Robust PID controller design for an UAV flight control system. In Proceedings of the World congress on Engineering and Computer Science, Vol. 2, 1\u20136."},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICST57152.2023.00034"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2021.24096"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP46214.2022.9833567"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/3548606.3560558"},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/3498361.3538938"},{"key":"e_1_3_1_36_2","first-page":"913","volume-title":"Proceedings of the 29th USENIX Security Symposium (USENIX Security)","author":"Kim Taegyu","year":"2020","unstructured":"Taegyu Kim, Chung Hwan Kim, Altay Ozen, Fan Fei, Zhan Tu, Xiangyu Zhang, Xinyan Deng, Dave Jing Tian, and Dongyan Xu. 2020. From control model to program: Investigating robotic aerial vehicle accidents with MAYDAY. In Proceedings of the 29th USENIX Security Symposium (USENIX Security), 913\u2013930."},{"key":"e_1_3_1_37_2","first-page":"425","volume-title":"Proceedings of the 28th USENIX Security Symposium (USENIX Security)","author":"Kim Taegyu","year":"2019","unstructured":"Taegyu Kim, Chung Hwan Kim, Junghwan Rhee, Fan Fei, Zhan Tu, Gregory Walkup, Xiangyu Zhang, Xinyan Deng, and Dongyan Xu. 2019. RVFuzzer: Finding input validation bugs in robotic vehicles through control-guided testing. In Proceedings of the 28th USENIX Security Symposium (USENIX Security). USENIX Association, 425\u2013442."},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2017.2752212"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00119"},{"key":"e_1_3_1_40_2","unstructured":"Timothy P. Lillicrap Jonathan J. Hunt Alexander Pritzel Nicolas Heess Tom Erez Yuval Tassa David Silver and Daan Wierstra. 2015. Continuous control with deep reinforcement learning. arXiv:1509.02971. Retrieved from https:\/\/arxiv.org\/abs\/1509.02971"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/TITS.2023.3317054"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jweia.2008.03.013"},{"key":"e_1_3_1_43_2","unstructured":"Lorenz Meier J. Camacho B. Godbolt J. Goppert L. Heng and M. Lizarraga. 2013. Mavlink: Micro Air Vehicle Communication Protocol."},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICRA.2015.7140074"},{"key":"e_1_3_1_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/3607199.3607221"},{"key":"e_1_3_1_46_2","first-page":"8024","volume-title":"Proceedings of the 33rd International Conference on Neural Information Processing Systems","author":"Paszke Adam","year":"2019","unstructured":"Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, et al. 2019. PyTorch: An imperative style, high-performance deep learning library. In Proceedings of the 33rd International Conference on Neural Information Processing Systems, 8024\u20138035."},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","DOI":"10.1109\/SEAMS59076.2023.00030"},{"key":"e_1_3_1_48_2","first-page":"895","volume-title":"Proceedings of the 29th USENIX Security Symposium (USENIX Security)","author":"Quinonez Raul","year":"2020","unstructured":"Raul Quinonez, Jairo Giraldo, Luis Salazar, Erick Bauman, Alvaro Cardenas, and Zhiqiang Lin. 2020. SAVIOR: Securing autonomous vehicles with robust physical invariants. In Proceedings of the 29th USENIX Security Symposium (USENIX Security), 895\u2013912."},{"key":"e_1_3_1_49_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.31"},{"key":"e_1_3_1_50_2","doi-asserted-by":"publisher","DOI":"10.1109\/APSEC57359.2022.00024"},{"key":"e_1_3_1_51_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jnca.2020.102739"},{"key":"e_1_3_1_52_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICRA40945.2020.9197074"},{"key":"e_1_3_1_53_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN48987.2021.00057"},{"key":"e_1_3_1_54_2","unstructured":"ArduPilot Team. 2013. Autonomous vehicle competition 2013. Retrieved from https:\/\/github.com\/dronekit\/ardupilot-releases\/blob\/master\/Tools\/autotest\/copter_AVC2013_mission.txt"},{"key":"e_1_3_1_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-SEIP58684.2023.00042"},{"key":"e_1_3_1_56_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4471-2425-2_4"},{"key":"e_1_3_1_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468559"},{"key":"e_1_3_1_58_2","first-page":"1885","volume-title":"Proceedings of the 31st USENIX Security Symposium (USENIX Security)","author":"Zhou Ce","year":"2022","unstructured":"Ce Zhou, Qiben Yan, Yan Shi, and Lichao Sun. 2022. DoubleStar:Long-range attack towards depth estimation based obstacle avoidance in autonomous systems. In Proceedings of the 31st USENIX Security Symposium (USENIX Security), 1885\u20131902."},{"key":"e_1_3_1_59_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2023.3254142"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3702994","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3702994","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T01:10:18Z","timestamp":1750295418000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3702994"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,4,28]]},"references-count":58,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2025,5,31]]}},"alternative-id":["10.1145\/3702994"],"URL":"https:\/\/doi.org\/10.1145\/3702994","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,4,28]]},"assertion":[{"value":"2024-06-26","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-10-15","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-04-28","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}