Next: SOFTWARE-EVOLUTION-LIBRARY/COMMAND-LINE-REST, Previous: Software Evolution Library Index, Up: Software Evolution Library Index [Contents][Index]
Class precedence list: mutate, error, serious-condition, condition, slot-object, t
Mutation errors are thrown when a mutation fails. These may often be safely ignored. A common restart is ‘ignore-failed-mutation’.
Class precedence list: no-mutation-targets, mutate, error, serious-condition, condition, slot-object, t
This is a particularly benign form of mutation error. A common restart is ‘ignore-failed-mutation’.
Class precedence list: oid-object, standard-object, slot-object, t
Attaches a unique oid (object identifier) to each instance.
Fraction of new individuals generated using crossover rather than mutation.
Variable to hold crossover statistics.
Number of individuals to automatically promote to next population.
Range: 0..(- (length *population*) 1)
When evolving super-mutants, or calling generational-evolve,
*elitism* specifies the number of individuals which are automatically
promoted prior to typical generational replacement or eviction
process. The selected individuals will be the ones with the
best fitness.
When using super-mutants, the *elitism* value will reduce the number of new
individuals created in each generation by the value of *elitism* (since this
number will automatically be promoted).
Track the total number of fitness evaluations.
Function to compare two fitness values to select which is preferred.
Function to convert fitness to a numeric value
Holds the running generation count.
Maximum allowable population size.
Holds the genome elements which may be used by ‘mcmc-step’. Should be initialized to a list of the unique possible genome elements.
Chance to mutate a new individual.
*mut-rate*.
*mut-rate* times.
List of recent mutation improvements cons’d with *fitness-evals*.
Variable to hold mutation statistics.
Holds the variant programs to be evolved. This variable may be read to inspect a running search process, or written to as part of a running search process.
True when a search process is running, set to nil to stop evolution.
Holds the start time of evolutionary processes.
Predicate indicating whether an individual has reached the target fitness.
Function to compare two tie breaker values to select which is preferred.
Number of individuals to participate in eviction tournaments.
Function used to select winners of a tournament. Returns a list of winners.
Number of individuals to participate in tournament selection.
Function used to break ties in a tournament. Returns a single winner.
Default worst fitness todo.
Predicate indicating whether an individual has the worst possible fitness.
Current branch of the software-evolution-library.
Path to directory holding software-evolution-library.
Current major version of the software-evolution-library (without git hash).
Current version of the software-evolution-library.
Apply mutation to every target in software.
Returns the resulting software objects. Returns a list of the applied
mutations as an optional second value.
Apply mutation to software, return the resulting software object.
Mutation application may destructively modify the software object, or it may return a
new instance with the mutation applied, and leave the original untouched. Any client
which calls apply-mutation should ensure that the result returned by apply-mutation is
captured, and should not make assumptions about the state of the original.
Example: (let ((mutated-software (apply-mutation (copy software) mutation))) ...
Define an :around method on this function to record mutations.
docfixme
docfixme
docfixme
docfixme
docfixme
Cut two random elements of the genome. If the two elements indices are equal, this just becomes one simple-cut. Otherwise it is implemented as two simple-cut mutations, so derived mutations should only need to implement simple-cut.
docfixme
Apply ops to software, returning the resulting software.
obj object to be mutated
op mutation to be performed
Apply mutation to software, returning the resulting software.
software object to be mutated
mutation mutation to be performed
Apply mutation to software, returning the resulting software.
software object to be mutated
mutation mutation to be performed
docfixme
llvm docfixme
op docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mut docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
obj docfixme
mutation docfixme
docfixme
docfixme
Apply a ‘type-safe-swap’ mutation to Coq object obj.
Inject fodder dependencies such as types, macros, and headers after a fodder
mutation has been applied to obj.
obj software object modified by mutation
mutation operations applied to obj
docfixme
Apply an asm-replace-operand mutation to asm-heap, return the resulting
software. The mutation targets are a pair of instruction indices pointing
to a "bad" instruction (whose operand will be replaced) and
a "good" instruction (whose operand will be used as the replacement).
If either instruction lacks an operand, a ‘no-mutation-targets’ condition
is raised.
Swap the values at two locations in ASM as specified by mutation.
Insert a value into location of ASM as specified by mutation.
Implement simple-cut mutation on asm-heap.
Apply an asm-replace-operand mutation to ASM, return the resulting software.
The mutation targets are a pair of instruction indices pointing to a "bad"
instruction (whose operand will be replaced) and a "good" instruction
(whose operand will be used as the replacement). If either instruction lacks an
operand, a ‘no-mutation-targets’ condition is raised.
docfixme
obj docfixme
op docfixme
Apply the execution trace path behind key in software.
docfixme
Apply a list of sampled addresses to the ASM’s genome behind key.
If each element of addresses is a cons cell then assume the car is the
address and the cdr is the value.
Build operation on software from a mutation.
Return an association list with the operations to apply a ‘nop’
mutation to software.
muation defines teh targets of the nop operation
software object to be modified by the mutation
Return an association list with the operations to apply a ‘parseable-cut’
mutation to software.
mutation defines the targets of the cut operation
software object to be modified by the mutation
Return an association list with the operations to apply an
‘parseable-replace’ mutation to software.
mutation defines targets of the replace operation
software object to be modified by the mutation
Return an association list with the operations to apply a ‘parseable-move’
mutation to software.
mutation defines targets of the move operation
software object to be modified by the mutation
Return an association list with the operations to apply a ‘parseable-swap’
mutation to software.
mutation defines targets of the swap operation
software object to be modified by the mutation
Return an association list with the operations to apply a ‘parseable-insert’
mutation to software.
mutation defines targets of insertion operation
software object to be modified by the mutation
Return an association list with the operations to apply a ‘rename-variable’
mutation to software.
mutation defines the targets of the rename-variable operation
software object to be modified by the mutation
Return an association list with the operations to apply a ‘cut-decl’
mutation to clang.
mutation defines the targets of the cut-decl operation
clang object to be modified by the mutation
Return an association list with the operations to apply a
‘coalesce-while-loop’ mutation to software.
mutation defines the targets of the coalesce-while-loop operation
obj object to be modified by the mutation
Return an association list with the operations to apply an
‘explode-for-loop’ mutation to obj.
mutation defines the targets of the explode-for-loop operation
obj object to be modified by the mutation
Return an association list with the operations to apply a
‘clang-promote-guarded’ mutation to software.
mutation defines the targets of the cut operation
software object to be modified by the mutation
Return an association list with the operations to apply a ‘clang-swap’
mutation to software.
mutation defines targets of the swap operation
software object to be modified by the mutation
Return an association list with the operations to apply a ‘clang-insert’
mutation to software.
mutation defines targets of insertion operation
software object to be modified by the mutation
Return an association list with the operations to apply a
‘insert-fodder-decl-rep’ mut to obj.
mut defines the targets of the insertion operation
obj object to be modified by the mutation
Generic copy method.
Wrapper around copy to transform all keyword arguments which are
not explicit slot initargs into annotations for functional tree ASTs.
Wrap the copy method to ensure the OBJ’s fields are copied.
Wrap the copy method to ensure the OBJ’s fields are copied.
Wrapper before copy to ensure all AST paths are populated in the genome supplied as a keyword.
Customized copy for ‘asm-range’ software objects. Ensures deep copies are made of the genome (ranges) but shallow copies are made of the reference base genome.
Crossover two software objects. Define an :around method on this function to record crossovers.
Randomly pick a file in A and crossover with the corresponding file in b.
docfixme
Perform single-point crossover between two parseable software
objects, and returning a new software object as the result. If
an error occurs, returns nil.
Algorithm:
A random node of the tree ’a’ is chosen, its path calculated,
and if there is a node at the corresponding path in ’b’, then that
node will replace the corresponding node in the genome of ’a’.
In order to update the genome of ’a’ the genome is copied and the resulting
modified genome is stored in ’a’.
docfixme
docfixme
b docfixme
Crossover two software objects, A and b.
One point crossover.
One point crossover.
By default, crossover for ASM objects uses ‘homologous-crossover’.
docfixme
docfixme
b docfixme
Like ‘defclass’ but inherits targeter slot-options from mutation.
Also, ensures mutation is a member of superclasses
Default function to collect statistics from an applied mutation.
This function will calculate the improvements to the fitness of software
as the result of crossover and mutation using ‘evaluate’ and test.
Each crossover and mutation will be paired with one of the following tags;
:dead, :same, :worse, or :better. Calculated stats will be added to the
*crossover-stats* and *mutation-stats* variables for analysis.
Apply mutation to the first n targets in software.
Returns the resulting software objects. Returns a list of the applied
mutations as an optional second value.
Apply mutation to n randomly selected targets in software.
Returns the resulting software objects. Returns a list of the applied
mutations as an optional second value.
Return a copy of mutation with ‘targets’ set to targets.
Create a super-mutant populated with variant . rest-variants
Creates a super-mutant and populates variants. Returns the super-mutant.
Creates a asm-super-mutant and populates it with single variant.
Define a new ‘software’ class name including a deep ‘copy’ method.
Arguments name direct-superclasses and options are passed through to
‘defclass’ unmodified. Additional optional :copier property on each
slot in direct-slots may be one of the following:
:none this slot is not copied and will be nil in the new object
:direct this slot is copied by direct reference to the slot value
skipping the accessor
:copier is nil (default) then the slot is
copied through its accessor, otherwise the value is
assumed to be a function (e.g., ‘copy-tree’) which is used
to copy the slot.
Evaluate the software returning a numerical fitness.
Evaluate super-mutant, setting fitness for all variants.
Create phenome (binary executable) and call it to generate fitness results.
The variants need to already be created (stored in mutants slot) and the io-file
needs to have been loaded, along with the var-table by parse-sanity-file.
Evaluate all test-cases in test-suite aggregating their output.
By default, sum the results of applying ‘evaluate’ to each test-case using
‘reduce’. Keyword arguments ‘:function’ and ‘:initial-value’ may be used as in
‘reduce’ to specify an aggregation function and starting value.
Run ‘test-case’ obj on phenome and return a fitness score (as
opposed to the output and exit code returned by ‘finish-test‘).
Default behavior is to return 1 if the exit code is 0 and 0 otherwise.
Override this method if you want to use other criteria, such as test output, to determine the fitness score.
phenome the phenome of the ‘software’ object under test.
obj the ‘test-case’ to run.
extra-keys additional keyword arguments to pass to ‘run-test’. See the
‘start-test’ documentation for more information.
Hold extra data returned by the fitness function.
Pass extra data (optionally) returned by the fitness function to the software object.
docfixme
extra-data docfixme
obj docfixme
Initialize software with contents of file.
docfixme
docfixme
Initialize obj with the contents of path.
Reading from a file sets original-genome-string.
Wrapper around the ‘from-file‘ method to store the file at PATH’s
permissions and modification time when creating obj.
Reading from a file saves path.
Initialize obj with the contents of path.
docfixme
llvm docfixme
path docfixme
Initialize obj with the contents of path.
Read forth script from path setting ‘genome’ and ‘shebang’.
docfixme
docfixme
docfixme
docfixme
Load Coq obj from file file, initializing fields in obj.
Resets the SerAPI process so that imports are loaded but no definitions from the
file have been added.
Set function target after the file loads.
Initialize an ‘asm-heap’ software object from a file.
Initialize an ‘asm-range’ software object from a file. Note this is required as no ‘from-file’ method is defined on the ‘range’ software object class.
Ensure ‘number-genome’ is called on all ASM files. This adds :id fields to genome elements required by ‘homologous-crossover’.
docfixme
obj docfixme
path docfixme
Create a Pliny database using the contents of db
Initialize software with contents of string.
Initialize obj with the contents of string.
Initialize obj with the contents of string.
Ensure the fodder database has been initialized prior to creating
a ‘clang-w-fodder’ software obj from string.
obj object to be populated from source in string
string source code to populate obj with
docfixme
obj docfixme
string docfixme
Parse a database argument in the form "<HOST|FILE>:PORT"
Class precedence list: mutation, oid-object, standard-object, slot-object, t
Slots:
object — initarg: :object; reader: software-evolution-library/software-evolution-library:object; writer: (setf software-evolution-library/software-evolution-library:object)
The software object to be mutated.
targets — initarg: :targets; reader: software-evolution-library/software-evolution-library:get-targets
A calculated target set.
The base class of all software mutations.
Define a new mutation named class-name composing mutations.
mutations is a list of the names of mutation classes.
Classify the fitness of new as :better, :worse, :same, or :dead when
compared to old. new and old must have fitness populated.
Return the members of group with most predicate fitness.
Default selection function for ‘tournament’.
Return true if fitness-a and fitness-b are equal
Evolves ‘*population*’ using reproduce evaluate-pop and select.
Required arguments are as follows:
reproduce ----------- create new individuals from the current population
evaluate-pop -------- evaluate-pop the entire population
select -------------- select best individuals from the population
Keyword arguments are as follows:
max-generations ----- stop after this many generations
max-evals ----------- stop after this many fitness evaluations
max-time ------------ stop after this many seconds
period -------------- interval of generations evaluations to run period-fn
period-fn ----------- function to run every period generations
every-pre-fn -------- function to run on each new individual before evaluation
every-post-fn ------- function to run on each new individual after evaluation
analyze-mutation-fn - function to call to analyze mutation results
test ---------------- fitness test function for mutation statistics
filter -------------- remove individuals for which filter returns false
The software genotype or “code”, exposed as a simplified data structure. For example an AST genome, e.g., of a ‘cil’ or ‘lisp’ software object my have a tree structure while the genome of an ‘asm’ or ‘llvm’ software object will be a vector.
automatically generated reader method
Lazily parse the genome upon first access.
Lazily parsed AST representation of the code.
Return a genome which combines all variants in super-mutant.
automatically generated reader method
automatically generated reader method
Build the genome on the fly from DIFF’s ‘reference’ and ‘diffs’.
Return a string of the ‘genome’ of software.
Returns all genomes joined with separators, optionally writing to stream.
Return the source code of obj, optionally writing to stream
Return the ir code of obj, optionally writing to stream
Return genome of forth as a string.
Like ‘(genome-string simple)’ but lines are delimited by spaces
instead of Newlines.
docfixme
Handle errors in ‘phenome’ execution by returning nil as the first value from the ‘phenome’ method.
Incorporate software into population, keeping population size constant.
Return a list with the index of line breaks in ir.
A list of lines in thing.
docfixme
docfixme
Return a list of lines of source in obj
Return a list of lines of ir in obj
docfixme
docfixme
Return the list of text lines of the genome.
Change software in a way amenable to mcmc.
Specifically every step should be reversible, and the resulting walk
should be ergodic.
docfixme
Key used to organize mutations in *mutation-stats*.
docfixme
obj docfixme
mutation docfixme
Return key used to organize mutations in *mutation-stats* hashtable.
obj object mutation is to be applied to
op operation to be performed
Return key used to organize mutations in *mutation-stats* hashtable.
obj object mutation is to be applied to
op operation to be performed
Return a list of target ASTs in software from
stmt-pool for mutation, filtering using filter, and throwing a
’no-mutation-targets exception if none are available.
Return a list of target ASTs from stmt-pool for mutation, throwing
a ’no-mutation-targets exception if none are available.
obj software object to query for mutation targets
filter filter AST from consideration when this function returns nil
stmt-pool method on obj returning a list of ASTs
Return a list of target ASTs from stmt-pool for mutation, throwing
a ’no-mutation-targets exception if none are available.
clang software object to query for mutation targets
filter filter AST from consideration when this function returns nil
stmt-pool method on clang returning a list of ASTs
Generate a new individual from *population*.
Crossover at a single point.
docfixme
docfixme
Phenotype of the software.
This method will link, compile or serialize the software object as
necessary returning an executable version of the software suitable for
testing and evaluation. Returns multiple values holding in order; (1)
the binary path to which the executable was compiled, (2) the errno,
or a numeric indication of success, of the compilation process, (3)
stderr of the compilation process, or a string holding error output
relevant to phenome generation, (4) stdout of the compilation process,
or a string holding non-error output relevant to phenome
generation, (5) the source file name used during compilation.
Build the software project obj and copy build artifact(s) to bin.
Compile obj to create an executable version of the software
on the filesystem at bin.
Phenotype of the software.
This method will link, compile or serialize the software object as
necessary returning an executable version of the software suitable for
testing and evaluation. Returns multiple values holding in order; (1)
the binary path to which the executable was compiled, (2) the errno,
or a numeric indication of success, of the compilation process, (3)
stderr of the compilation process, or a string holding error output
relevant to phenome generation, (4) stdout of the compilation process,
or a string holding non-error output relevant to phenome
generation, (5) the source file name used during compilation.
docfixme
llvm docfixme
bin docfixme
Write forth to an executable script suitable for evaluation.
docfixme
Create ASM file, assemble it, and link to create binary bin.
Runs the ‘linker’ for asm-heap, using the specified ‘flags’ for ASM and returns
multiple values holding in order: (1) the binary path bin to which the
executable was compiled, (2) the errno, or a numeric indication of success, of
the linking process, (3) stderr of the linking process, (4) stdout of the
linking process, (5) the source file name used during linking.
Runs the ‘linker’ for ASM, using the specified ‘flags’ for ASM and returns
multiple values holding in order: (1) the binary path bin to which the
executable was compiled, (2) the errno, or a numeric indication of success, of
the linking process, (3) stderr of the linking process, (4) stdout of the
linking process, (5) the source file name used during linking.
Create a phenotype of the lisp-project.
As lisp is not a compiled language do nothing.
Create a phenotype of the python-project. In this case,
as python is not a compiled language, override the phenome method
to return where the genome of obj is written to - bin.
obj object to create a phenome for
bin location where the phenome will be created on the filesystem
Bind *build-dir* to bin ensuring the genome of obj in written to bin.
Create a phenotype of the javascript-project. In this case,
override the phenome method to return bin where the genome of obj
is output. JavaScript is not a compiled language, so we return the
genome instead of a binary.
obj object to create a phenome for
bin location where the phenome will be created on the filesystem
Class precedence list: phenome, error, serious-condition, condition, slot-object, t
docfixme
Evolves ‘*population*’ using ‘new-individual’ and test.
super-mutant-count evaluate this number of mutants at once in a
combined genome.
Other keyword arguments are used as defined in the ‘-search’ function.
Return non-nil if software has a phenotype.
Pick an element of genome based on key of each element.
key is passed to ‘proportional-pick’ to return an index. Optional
argument func processes the index to return a result.
Pick a ’bad’ index into a software object. Used to target mutation.
Pick a ’bad’ index into a software object. Used to target mutation.
Pick a random AST in clang from the ‘bad-stmt’ pool.
docfixme
Return a randomly selected index of a bad statement in obj.
Remove statements containing Coq location info from consideration.
If none exist, raise a ‘no-mutation-targets’ error.
Pick two ’bad’ indexes into a software object. Used to target mutation.
Pick two ASTs from software, both from the ‘bad-asts’ pool,
excluding those ASTs removed by filter.
software object to perform picks for
filter function taking two AST parameters and returning non-nil if the
second should be included as a possible pick
* bad-pool function returning a pool of ’bad’ ASTs in software
Pick two ASTs from clang, both from the ‘bad-asts’ pool,
excluding those ASTs removed by filter.
clang object to perform picks for
filter function taking two AST parameters and returning non-nil if the
second should be included as a possible pick
* bad-pool function returning a pool of ’bad’ ASTs in software
Pick a ’bad’ and a ’good’ indexes into a software object. Used to target mutation.
Pick two ASTs from software, first from ‘bad-pool’ followed
by ‘good-pool’, excluding those ASTs removed by filter.
software object to perform picks for
filter function taking two AST parameters and returning non-nil if the
second should be included as a possible pick
bad-pool function returning a pool of ’bad’ ASTs in software
good-pool function returning a pool of ’good’ ASTs in software
Pick two ASTs from clang, both from the ‘bad-asts’ pool,
excluding those ASTs removed by filter.
clang object to perform picks for
filter function taking two AST parameters and returning non-nil if the
second should be included as a possible pick
bad-pool function returning a pool of ’bad’ ASTs in software
good-pool function returning a pool of ’good’ ASTs in software
Pick a single ’bad’ index into a software object. Used to target mutation.
Pick a single AST from software from ‘bad-pool’,
excluding those ASTs removed by filter.
software object to perform picks for
filter function taking two AST parameters and returning non-nil if the
second should be included as a possible pick
* bad-pool function returning a pool of ’bad’ ASTs in software
Pick a single AST from clang from ‘bad-pool’,
excluding those ASTs removed by filter.
clang object to perform picks for
filter function taking two AST parameters and returning non-nil if the
second should be included as a possible pick
* bad-pool function returning a pool of ’bad’ ASTs in software
Pick a ’good’ index into a software object. Used to target mutation.
Pick a ’good’ index into a software object. Used to target mutation.
Pick a random AST in clang from the ‘good-stmt’ pool.
docfixme
Return a randomly selected index of a good statement in obj.
Remove statements containing Coq location info from consideration.
If none exist, raise a ‘no-mutation-targets’ error.
Reader for the picker slot of mutation objects
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
A function from software -> random target.
Class precedence list: software, oid-object, standard-object, slot-object, t
Base class for all software objects.
mcmc search from original using ‘mcmc-step’ and test.
If keyword argument accept-fn is given it is used to determine when a
newly found candidate replaces the current candidate. If accept-fn is
not supplied mcmc defaults to using Metropolis Hastings.
Other keyword arguments are used as defined in the ‘-search’ function.
Mutate the software. May throw a ‘mutate’ error.
Randomly pick one file to mutate.
Select a random mutation and mutate obj.
Select a random mutation and mutate clang.
docfixme
Apply a mutation to obj
Randomly mutate elf.
Define a new mutation named class-name sequencing mut-a and mut-b.
mut-a and mut-b are instances of mutations. Instead of collecting
targets for A and then targets for b and then applying A and b as done
by ‘compose-mutations’, ‘sequence-mutations’ first targets and applies A and then targets and applied b.
Generate a new individual from *population* using crossover.
Choose a random winner from group.
Check if fitness-a is strictly better than fitness-b.
Generate a new mutant from a *population*.
Select a type of mutation to apply to software.
Select type of mutation to apply to obj.
Select type of mutation to apply to obj.
docfixme
Randomly select a mutation that may be performed on obj.
Select type of mutation to apply to obj.
Return a symbol naming a randomly selected ASM mutation.
Evaluate new-children using test assigning each a fitness.
Reproduce using every individual in population.
Return a list of the resulting children and as optional extra value a
list of the mutations applied to produce those children.
docfixme
* results docfixme
Reader for the targeter slot of mutation objects
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
A function from software -> targets.
Return all possible targets of mutation.
Write software to file.
Wrapper around the ‘to-file‘ method to preserve permissions and
modification time when writing obj to path.
Look up source strings for Coq obj ASTs and write to path.
Save the assembly for ASM to file.
If any rip-relative addresses have been converted to
absolute, for evaluation, restore them to the original
instructions.
Save the assembly for ASM to file.
Select an individual from *population* with a tournament.
Crossover between two points.
docfixme
docfixme