{"id":18929912,"url":"https://github.com/inomuh/imfit","last_synced_at":"2025-04-15T15:31:15.856Z","repository":{"id":38084285,"uuid":"319960414","full_name":"inomuh/imfit","owner":"inomuh","description":"IM-FIT provides to find the weaknesses on Python and ROS. The user can use IM-FIT with workload or code snippets. At the same time the user can create custom workload and code snippets for its codes.","archived":false,"fork":false,"pushed_at":"2022-11-21T14:25:11.000Z","size":2959,"stargazers_count":3,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T22:51:12.319Z","etag":null,"topics":["code-quality","code-snippets","fault-injection","python3","qt6","qt6-gui","testing-tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inomuh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-09T13:11:05.000Z","updated_at":"2024-07-04T05:05:45.000Z","dependencies_parsed_at":"2022-07-12T10:22:34.958Z","dependency_job_id":null,"html_url":"https://github.com/inomuh/imfit","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inomuh%2Fimfit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inomuh%2Fimfit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inomuh%2Fimfit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inomuh%2Fimfit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inomuh","download_url":"https://codeload.github.com/inomuh/imfit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249097882,"owners_count":21212369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-quality","code-snippets","fault-injection","python3","qt6","qt6-gui","testing-tools"],"created_at":"2024-11-08T11:35:50.670Z","updated_at":"2025-04-15T15:31:10.847Z","avatar_url":"https://github.com/inomuh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IM-FIT\n![repo_size](https://img.shields.io/github/repo-size/inomuh/imfit) ![Apache-2.0 License](https://img.shields.io/github/license/inomuh/imfit?color=blue) ![lang](https://img.shields.io/github/languages/top/inomuh/imfit) [![CodeFactor](https://www.codefactor.io/repository/github/akerdogmus/imfit/badge)](https://www.codefactor.io/repository/github/akerdogmus/imfit)\n\nIM-FIT applies mutation testing to **Python, ROS-Py, Launch, Yaml, SRV, MSG** file types.\n\nThe requirements.txt file should list all Python libraries that your notebooks depend on, and they will be installed using:\n```\npip install -r requirements.txt\n```\n![Image of IM-FIT Home Page](https://github.com/inomuh/imfit/blob/main/home-page.png)\n\u003cp align=\"center\"\u003e\n        \u003cb\u003e\u003ci\u003eFig 1. IM-FIT Home Page\u003c/i\u003e\u003c/b\u003e\n\u003c/p\u003e\n\nIM-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.\n\n![Image of IM-FIT Start Page](https://github.com/inomuh/imfit/blob/main/start-page.png)\n\n\u003cp align=\"center\"\u003e\n        \u003cb\u003e\u003ci\u003eFig 2. IM-FIT Start Page\u003c/i\u003e\u003c/b\u003e\n\u003c/p\u003e\n\nIM-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.\n\n![Image of IM-FIT Scan Page](https://github.com/inomuh/imfit/blob/main/scan-page.png)\n\u003cp align=\"center\"\u003e\n        \u003cb\u003e\u003ci\u003eFig 3. IM-FIT Scan Page\u003c/i\u003e\u003c/b\u003e\n\u003c/p\u003e\n\nMutants 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.\n\n![Image of IM-FIT ROS Page](https://github.com/inomuh/imfit/blob/main/ros-page.png)\n\u003cp align=\"center\"\u003e\n        \u003cb\u003e\u003ci\u003eFig 4. IM-FIT ROS Page\u003c/i\u003e\u003c/b\u003e\n\u003c/p\u003e\n\nIM-FIT performs mutation operations on ROS-Py and Launch files according to the collected data and user requests.\nOn 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\u0026V process.\n\nInstallations\n-------------------------------\n- Firstly, you must install python3 and some requirements:\n\n        sudo apt-get update \u0026\u0026 sudo apt-get install python3 python3-venv python3-pip\n\n- Install PySide6:\n\n        pip install PySide6\n\n- Install PyQt6:\n\n        pip install PyQt6==6.1.0\n\nUsage\n-------------------------------\nTerminal command to open interface\n\n    python3 main.py\n\nPS: Before first run IM-FIT, the command \n\n    chmod +x * \n\nmust enter the terminal opened from IM-FIT folder.\n\n\n### Credits\n\n\u003ca href=\"http://valu3s.eu\"\u003e\n  \u003cimg align=left img src=\"https://upload.wikimedia.org/wikipedia/tr/d/d0/TUBITAK-Logo.jpg\" \n       alt=\"tübitak_logo\" height=\"100\" \u003e\n\u003c/a\u003e\n\n---\n\nThis work is supported by [TÜBİTAK](https://www.tubitak.gov.tr/) Project under grant number 120N803 which conducted by the İnovasyon Mühendislik.\n\n---\n\n\u003ca href=\"http://valu3s.eu\"\u003e\n  \u003cimg align=right img src=\"https://valu3s.eu/wp-content/uploads/2020/04/VALU3S_green_transparent-1024x576.png\" \n       alt=\"valu3s_logo\" height=\"100\" \u003e\n\u003c/a\u003e\n\n  This work is also done by [Inovasyon Muhendislik](https://www.inovasyonmuhendislik.com/) and [ESOGU-SRLAB](https://srlab.ogu.edu.tr/) under [VALU3S](https://valu3s.eu) project. This project has received funding from the [ECSEL](https://www.ecsel.eu) 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.\n\n### License\n\nSee the [LICENSE](LICENSE.md) file for license rights and limitations (Apache-2.0 Licence).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finomuh%2Fimfit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finomuh%2Fimfit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finomuh%2Fimfit/lists"}