Next: Mutation, Previous: Implementation, Up: Top [Contents][Index]
The source code for the Software Evolution library is available at https://github.com/eschulte/software-evolution. The following Common Lisp packages are required by this library, all of which are installable through Quicklisp (see http://www.quicklisp.org/).
Depending on the type of software object used the following may also be required.
llvm
object support (available from
https://github.com/eschulte/llvm-mutate).
cil
object support (available from
https://github.com/eschulte/cil-mutate).
clang
object support (available from
https://github.com/eschulte/cil-mutate).
The Software Evolution library is meant to be used from Common Lisp
programs. Common lisp packages should include the
software-evolution
library and may also include the
software-evolution-utility
library in their package definition
as in the following example.
(defpackage :software-evolution-example (:use :common-lisp :software-evolution :software-evolution-utility))
The following examples demonstrate usage.
• Mutation: | Mutate a given program | |
• Evaluation: | Evaluate fitness of a mutant | |
• Neutral Variants: | Generate neutral variants of a program | |
• Repair: | Program repair |