What are some examples of GI Frameworks?
Gin: GI in No Time - a Simple Microframework for Genetic Improvement
“The goal of Gin is to stimulate development in GI tooling, and to lower the barrier to experimenting with GI and related ideas such as program fragility.
GrammaTech released extensive tooling for the programmatic modification and evaluation of software; focused on modifying C/C++ source, assembly, and ELF files: link; and C/C++ manipulation tooling: link.
Here are a few other examples of existing work:
- ECSELR
- Gen-O-Fix
- GenProg Evolutionary Software Repair
- locoGP
- MicroGP
- Software from the GISMOE Project via Bill Langdon (see “Free Code”)
- Relifix
- Eric Schulte’s work:
- SearchRepair
- TrpAutoRepair (formerly known as RS Repair)
- Magpie: Machine Automated General Performance Improvement via Evolution of software (for functional and non-functional properties)
- ASTOR: A Program Repair Library for Java
- JarFly: Java Repair Framework
- PraPR: Practical Program Repair via Bytecode Mutation
Other frameworks and libraries identified at the Dagstuhl Seminar on Genetic Improvement of Software held in January 2018:
- MuScalpel: automated software transplantation
- DSpot: a tool for Genetic Improvement of test suites
- PyGGI: Python General Framework for GI
- ARJA: multi-objective automated program repair
- Repairnator
- Astor4Android: program repair for Android Apps
Other open source tools for the genetic improvement of non-functional software properties (Identified from the literature review by Zuo et al. at GECCO 2022:
- Genetic Programming for Shader Simplification
- Deep Parameter Optimisation in OpenCV
- HOMI
- GGGP
- Optimizer
- Evolving Better Software Parameters: download code
- PowerGAUGE
- GEVO
- Automatically Evolving Lookup Tables for Function Approximation
- Genetic Improvement of Routing Protocols for Delay Tolerant Networks