Carving out Control Code: Automated Identification of Control Software in Autopilot Systems. Balasubramaniam, B., Ahmed, I., Bagheri, H., & Bradley, J. ACM Transactions on Cyber-Physical Systems, July, 2024. Place: New York, NY, USA Publisher: Association for Computing Machinery
Carving out Control Code: Automated Identification of Control Software in Autopilot Systems [link]Paper  doi  abstract   bibtex   4 downloads  
Cyber-physical systems interact with the world through software controlling physical effectors. Carefully designed controllers, implemented as safety-critical control software, also interact with other parts of the software suite, and may be difficult to separate, verify, or maintain. Moreover, some software changes, not intended to impact control system performance, do change controller response through a variety of means including interaction with external libraries or unmodeled changes only existing in the cyber system (e.g., exception handling). As a result, identifying safety-critical control software, its boundaries with other embedded software in the system, and the way in which control software evolves could help developers isolate, test, and verify control implementation, and improve control software development. In this work we present an automated technique, based on a novel application of machine learning, to detect commits related to control software, its changes, and how the control software evolves. We leverage messages from developers (e.g., commit comments), and code changes themselves to understand how control software is refined, extended, and adapted over time. We examine three distinct, popular, real-world, safety-critical autopilots – ArduPilot, Paparazzi UAV, and LibrePilot to test our method demonstrating an effective detection rate of 0.95 for control-related code changes.
@article{balasubramaniam_carving_2024,
	title = {Carving out {Control} {Code}: {Automated} {Identification} of {Control} {Software} in {Autopilot} {Systems}},
	issn = {2378-962X},
	url = {https://doi.org/10.1145/3678259},
	doi = {10.1145/3678259},
	abstract = {Cyber-physical systems interact with the world through software controlling physical effectors. Carefully designed controllers, implemented as safety-critical control software, also interact with other parts of the software suite, and may be difficult to separate, verify, or maintain. Moreover, some software changes, not intended to impact control system performance, do change controller response through a variety of means including interaction with external libraries or unmodeled changes only existing in the cyber system (e.g., exception handling). As a result, identifying safety-critical control software, its boundaries with other embedded software in the system, and the way in which control software evolves could help developers isolate, test, and verify control implementation, and improve control software development. In this work we present an automated technique, based on a novel application of machine learning, to detect commits related to control software, its changes, and how the control software evolves. We leverage messages from developers (e.g., commit comments), and code changes themselves to understand how control software is refined, extended, and adapted over time. We examine three distinct, popular, real-world, safety-critical autopilots – ArduPilot, Paparazzi UAV, and LibrePilot to test our method demonstrating an effective detection rate of 0.95 for control-related code changes.},
	journal = {ACM Transactions on Cyber-Physical Systems},
	author = {Balasubramaniam, Balaji and Ahmed, Iftekhar and Bagheri, Hamid and Bradley, Justin},
	month = jul,
	year = {2024},
	note = {Place: New York, NY, USA
Publisher: Association for Computing Machinery},
	keywords = {Autopilot Software, Control Software, Small Uncrewed Aerial Vehicle, and Software code changes},
}

Downloads: 4