ROSInfer: Statically Inferring Behavioral Component Models for ROS-based Robotics Systems
Tobias Dürschmid, Christopher Steven Timperley, David Garlan, Claire Le Goues
Abstract
Robotics systems are complex, safety-critical systems that can consist of hundreds of software components that interact with each other dynamically during run time. Software components of robotics systems often exhibit reactive, periodic, and state-dependent behavior. Incorrect component composition can lead to unexpected behavior, such as components passively waiting for initiation messages that never arrive. Model-based software analysis is a common technique to identify incorrect behavioral composition by checking desired properties of given behavioral models that are based on component state machines. However, writing state machine models for hundreds of software components manually is a labor-intensive process. This motivates work on automated model inference. In this paper, we present an approach to infer behavioral models for systems based on the Robot Operating System (ROS) using static analysis by exploiting assumptions about the usage of the ROS API and ecosystem. Our approach is based on searching for common behavioral patterns that ROS developers use for implementing reactive, periodic, and state-dependent behavior using the ROS framework API. We evaluate our approach and our tool ROSInfer on five complex real-world ROS systems with a total of 534 components. For this purpose we manually created 155 models of components from the source code to be used as a ground truth and available data set for other researchers. ROSInfer can infer causal triggers for 87 % of component architectural behaviors in the 534 components.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext eda0346c-af27-4db4-8f97-25a564c5b14eCited by top-tier papers2
- Understanding Misconfigurations in ROS: An Empirical Study and Current ApproachesPaulo Canelas, Bradley R. Schmerl, Alcides Fonseca, Christopher Steven TimperleyISSTA 2024 · 2 citations
- ROSpec: A Domain-Specific Language for ROS-Based Robot SoftwarePaulo Canelas, Bradley R. Schmerl, Alcides Fonseca, Christopher Steven TimperleyOOPSLA 2025 · 2 citations
Builds on2
Related papers
- ROSCallBaX: Statically Detecting Inconsistencies in Callback Function Setup of Robotic SystemsSayali Kate, Yifei Gao, Shiwei Feng, Xiangyu ZhangFSE 2025 · 2 citations
- Response Time Analysis and Priority Assignment of Processing Chains on ROS2 ExecutorsYue Tang, Zhiwei Feng, Nan Guan, Xu Jiang et al.RTSS 2020 · 81 citations
- Real-Time Scheduling and Analysis of Processing Chains on Multi-threaded Executor in ROS 2Xu Jiang, Dong Ji, Nan Guan, Ruoxiang Li et al.RTSS 2022 · 39 citations
- Response time analysis for dynamic priority scheduling in ROS2Abdullah Al Arafat, Sudharsan Vaidhun, Kurt M. Wilson, Jinghao Sun et al.DAC 2022 · 38 citations
- Robust and Accurate Period Inference using Regression-Based TechniquesSerban Vadineanu, Mitra NasriRTSS 2020 · 4 citations
