Git Product home page Git Product logo

esogu-srlab / tailored-mutation-based-software-fault-injection-tool-im-fit Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 2.0 1.59 MB

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.

Home Page: https://repo.valu3s.eu/tools/improved-developed-tool/tailored-mutation-based-fault-injection-tool-im-fit

License: Apache License 2.0

Python 100.00%
code-snippets fault-injection python3 testing-tools verification-validation autonomus-testing

tailored-mutation-based-software-fault-injection-tool-im-fit's Introduction

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).

tailored-mutation-based-software-fault-injection-tool-im-fit's People

Contributors

cembglm avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.