ROSInfer: Statically Inferring Behavioral Component Models for ROS-based Robotics Systems
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 532 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 532 components.
Fri 19 AprDisplayed time zone: Lisbon change
14:00 - 15:30 | Testing: various bug types 3Research Track / Demonstrations / Software Engineering Education and Training at Fernando Pessoa Chair(s): Fernando Brito e Abreu ISCTE-IUL | ||
14:00 15mTalk | Testing Graph Database Systems via Equivalent Query Rewriting Research Track Qiuyang Mang The Chinese University of Hong Kong, Shenzhen, Aoyang Fang Chinese University of Hong Kong, Shenzhen, BoXi Yu The Chinese University of Hong Kong, Shenzhen, Hanfei Chen The Chinese University of Hong Kong, Shenzhen, Pinjia He Chinese University of Hong Kong, Shenzhen | ||
14:15 15mTalk | ROSInfer: Statically Inferring Behavioral Component Models for ROS-based Robotics Systems Research Track Tobias Dürschmid Carnegie Mellon University, USA, Christopher Steven Timperley Carnegie Mellon University, David Garlan Carnegie Mellon University, Claire Le Goues Carnegie Mellon University DOI | ||
14:30 15mTalk | Finding XPath Bugs in XML Document Processors via Differential Testing Research Track Shuxin Li Southern University of Science and Technology, Manuel Rigger National University of Singapore | ||
14:45 15mTalk | Sedar: Obtaining High-Quality Seeds for DBMS Fuzzing via Cross-DBMS SQL Transfer Research Track Jingzhou Fu School of Software, Tsinghua University, Jie Liang , Zhiyong Wu Tsinghua University, China, Yu Jiang Tsinghua University | ||
15:00 15mTalk | Automatically Detecting Reflow Accessibility Issues in Responsive Web Pages Research Track Paul T. Chiou University of Southern California, Robert Winn University of Southern California, Ali S. Alotaibi University of Southern California, William G.J. Halfond University of Southern California Media Attached | ||
15:15 7mTalk | Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist Demonstrations Sajad Khatiri USI-Lugnao & Zurich University of Applied Sciences, Sebastiano Panichella Zurich University of Applied Sciences, Paolo Tonella USI Lugano DOI Pre-print | ||
15:22 7mTalk | eFish'nSea: Unity Game Set for Learning Software Performance Issues Root Causes and Resolutions Software Engineering Education and Training Andrew Quinlan Stevens Institute of Technology, Ryan Mercadante Stevens Institute of Technology, Vincent Tufo Stevens Institute of Technology, Jonathan Morrone Stevens Institute of Technology, Lu Xiao Stevens Institute of Technology |