Tailored Mutation-based Fault Injection Tool (IM-FIT)

IMFIT is a simulation-based fault injection tool. Intended purpose of this tool is to identify and understand potential failures in the simulation environment. With this tool, the user injects some faults, create failures or errors and monitor their effects in a simulation environment. This tool is designed to inject faults to the robots which are used in industry. With the popular use of ROS (Robot Operating System) in industrial robotics, this tool is developed as compatible with ROS and Gazebo.
Improved
IMFIT is a simulation-based fault injection tool. The intended purpose of this tool is to identify and understand potential failures in the simulation environment. With this tool, the user injects some faults, creates failures or errors and monitor their effects in a simulation environment. This tool is designed to inject faults into the robots which are used in industry. With the popular use of ROS (Robot Operating System) in industrial robotics, this tool is developed as compatible with ROS and Gazebo.
Mutation tests for both Python and Python-based ROS(ROS-Py) software are performed using the Tailored Mutation-based Fault Injection Tool (IM-FIT). IM-FIT has been developed to test Python-based robotic systems. IM-FIT tests any Python-based file or Python-based ROS file using its customized fault libraries for the test processes. Python-based robotic software tests are defined as a special use case for IM-FIT. Thus, whereas IM-FIT was being developed, it was aimed to be able to realize Python-based ROS(ROS-Py) software. The information used in the tests performed with IM-FIT, a test tool specially developed for robotic systems, is obtained by inference from the robotic software system under test. 
The research on Python-based ROS software tests shows that such a test process has not been developed before in this area. Therefore, the Python-based ROS software test process is developed to be unique. The tests are customizable to be unique by the user and IM-FIT applies all created tests on the target file automatically. Whereas making tests unique, workloads, code snippets, and fault selections can be made by the user. Also, the execution of the tests can be customizable for the metrics, states, and execution settings. Thus, with a fully customizable structure of IM-FIT performs tests created under specified operating conditions on specified lines of code. The data on the tests performed are processed in IM-FIT according to the formulations of the metrics and states and presented to the user in the form of a detailed V&V report. The V&V process is completed with the presentation of the report on the test procedures to the user.
IMFIT is a simulation-based fault injection tool. Intended purpose of this tool is to identify and understand potential failures in the simulation environment. With this tool, the user injects some faults, create failures or errors and monitor their effects in a simulation environment. This tool is designed to inject faults to the robots which are used in industry.
Depending on the user's test situations, IM-FIT's modules might be structured differently. A modular framework is used to present the user with the steps taken in the application of mutation-based tests in IM-FIT. The scan, execution, and monitoring modules of IM-FIT are included in this structure. With the implementation of the steps in the IM-FIT architecture on the robotic software source code, more than 100 different faults in the fault library about the robustness of robotic software are applied to more than 100 different code snippets in the code snippets list, and information about the robustness of the software is obtained according to different metrics.

Yayan, U., Baglum, C., Tailored Mutation-based Software Fault Injection Tool (IM-FIT) for Industrial Robotic Systems, 23rd National Congress of Automatic Control, 15-18 September 2022.

Relationships with other web-repo artefacts
Improvement Classification
Simulation-level system robustness, Software fault tolerance robustness
Open source - Goals
Yes
Safety, Functional Requirements
Contents

There are currently no items in this folder.