License: Apache 2.0 Status: Actrive Language: Python Version: 4!1.0α Codename: kiwi Documentation Status

MicroGP (µGP, ugp) is an evolutionary tool created around 2001. Over the years it has been exploited as a coverage-driven fuzzer, as a general-purpose optimizer, and as a framework for prototyping and testing new ideas. Some hundreds documents discussing it and possible application can be found in the scientific literature. [read more]

⚠️ MicroGP4 v1.0 is currently in pre-alpha and under active development

This repo is only useful if you want to hack the code (see: CONTRIBUTING).
For using MicroGP4 read the instructions.


  • The default branch is always the more stable
  • Do not clone experimental branches exp/* unless you know what you are doing
  • Follow the style guide
  • It may be wise to contact Alberto or Giovanni

Documentation and Previous Versions

  • The documentation for MicroGP4 is on
  • The documentation for MicroGP3 (v3.1 "Bluebell"), together with the old design rationale, can be found in the book Evolutionary Optimization: the µGP toolkit, Springer Science & Business Media (2011), 10.1007/978-0-387-09426-7
  • MicroGP2 is described in the paper "MicroGP — An Evolutionary Assembly Program Generator", Genetic Programming and Evolvable Machines, vol. 6, 247–263 (2005), 10.1007/s10710-005-2985-x
  • An evolutionary tool able to generate realistic assembly programs (MicroGP1) has been presented in the paper "Efficient machine-code test-program induction", Proceedings of the Congress on Evolutionary Computation (2002), 10.1109/CEC.2002.1004462



Copyright © 2020 Giovanni Squillero and Alberto Tonda
MicroGP4 is free and open-source software, and it is distributed under the permissive Apache License 2.0.