IM-FIT applies mutation testing to Python and Python-based ROS file types.
-
Install python3 and some requirements:
sudo apt-get update && sudo apt-get install python3 python3-venv python3-pip
-
Install requirements:
pip install -r requirements.txt
Terminal command to open interface
python3 main.py
PS: Before first run IM-FIT, the command
chmod +x *
must enter the terminal opened from IM-FIT folder.
Fig 1. IM-FIT Home Page
The goal of IM-FIT is to offer the user a comprehensive and effective guide to its usage by providing a user manual upon opening.
Fig 2. IM-FIT Start Page
IM-FIT's scans can be tailored to specific workloads and chosen code snippets. Once the scanning process is complete, it generates fault plans that can be used in testing procedures. These fault plans contain information on which file to mutate the code.
Fig 3. IM-FIT Scan Page
During the test run, mutants are categorized as either killed or survived when compared to the original code. The primary aim of the testing process is to kill all mutants. If any mutants survive, it indicates that the software works correctly despite the fault.
Fig 4. IM-FIT ROS Page
IM-FIT carries out mutation operations on ROS files based on Python, in accordance with the user's requests and the collected data. Once the mutants are generated, IM-FIT executes them on the execution page. Once the execution process is completed, the user can access the monitoring page to obtain detailed information on the V&V process.
This work is supported by TÜBİTAK Project under grant number 120N803 which conducted by the İnovasyon Mühendislik.
This work is also done by Inovasyon Muhendislik and ESOGU-ASRLAB under VALU3S project. This project has received funding from the ECSEL Joint Undertaking (JU) under grant agreement No 876852. The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Austria, Czech Republic, Germany, Ireland, Italy, Portugal, Spain, Sweden, Turkey.
See the LICENSE file for license rights and limitations (Apache-2.0 Licence).