IM-FIT applies mutation testing to Python, ROS-Py, Launch, Yaml, SRV, MSG file types.
The requirements.txt file should list all Python libraries that your notebooks depend on, and they will be installed using:
pip install -r requirements.txt
Fig 1. IM-FIT Home Page
IM-FIT, which presents a user manual to the user when opened, aims to provide an efficient and detailed use to the user with this manual.
Fig 2. IM-FIT Start Page
IM-FIT scans are fully customizable for workloads and selected code snippets. After the scanning process is applied, fault plans are created to be used in test processes. Fault plans keep information about which file to apply a code mutation.
Fig 3. IM-FIT Scan Page
Mutants that are compared to the original code in the run are classified as killed or survived. Killing a mutant is the main objective of our testing process. Surviving mutants show that the software we tested works with the fault.
Fig 4. IM-FIT ROS Page
IM-FIT performs mutation operations on ROS-Py and Launch files according to the collected data and user requests. On the execution page, IM-FIT runs the mutants on Docker. At the end of the execution process, you can go to the monitoring page to take detailed information about the V&V process.
-
Firstly, you must install python3 and some requirements:
sudo apt-get update && sudo apt-get install python3 python3-venv python3-pip
-
Install PySide6:
pip install PySide6
-
Install PyQt6:
pip install PyQt6==6.1.0
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.
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-SRLAB 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).