Skip to content

IM-FIT is a tool that helps identify areas of weakness in both Python and ROS. Users can utilize IM-FIT with either a workload or code snippets, and also have the option to create custom workloads and code snippets tailored specifically to their own code.

License

Notifications You must be signed in to change notification settings

ESOGU-SRLAB/Tailored-Mutation-based-Software-Fault-Injection-Tool-IM-FIT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IM-FIT

repo_size Apache-2.0 License lang

IM-FIT applies mutation testing to Python and Python-based ROS file types.

Installations

  • 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
    

Usage

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.

Image of IM-FIT Home Page

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.

Image of IM-FIT Start Page

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.

Image of IM-FIT Scan Page

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.

Image of IM-FIT ROS Page

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.

Credits

tübitak_logo

This work is supported by TÜBİTAK Project under grant number 120N803 which conducted by the İnovasyon Mühendislik.


valu3s_logo

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.

License

See the LICENSE file for license rights and limitations (Apache-2.0 Licence).

About

IM-FIT is a tool that helps identify areas of weakness in both Python and ROS. Users can utilize IM-FIT with either a workload or code snippets, and also have the option to create custom workloads and code snippets tailored specifically to their own code.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages