Next: , Previous: , Up: Software Evolution Library Index   [Contents][Index]


A.32 SOFTWARE-EVOLUTION-LIBRARY/SOFTWARE/CLANG-W-FODDER

Class: clang-w-fodder [sel/sw/clang-w-fodder]

Class precedence list: clang-w-fodder, clang, parseable, compilable, software, oid-object, file, standard-object, slot-object, t

clang software resentation with a database containing AST entries as fodder for the evolution process.

Class: insert-fodder [sel/sw/clang-w-fodder]

Class precedence list: insert-fodder, clang-insert, clang-mutation, mutation, oid-object, standard-object, slot-object, t

Slots:

Insert a fodder AST into a clang software object.

Class: insert-fodder-decl [sel/sw/clang-w-fodder]

Class precedence list: insert-fodder-decl, clang-insert, clang-mutation, mutation, oid-object, standard-object, slot-object, t

Slots:

Insert a Decl fodder AST into a clang software object.

Class: insert-fodder-decl-rep [sel/sw/clang-w-fodder]

Class precedence list: insert-fodder-decl-rep, clang-insert, clang-mutation, mutation, oid-object, standard-object, slot-object, t

Slots:

First apply ‘insert-fodder-decl’ then ‘rename-variable’ mutations. Ensure that the name of the inserted decl is used by ‘rename-variable’.

Class: insert-fodder-full [sel/sw/clang-w-fodder]

Class precedence list: insert-fodder-full, clang-insert, clang-mutation, mutation, oid-object, standard-object, slot-object, t

Slots:

Insert a full statement fodder AST into a clang software object

Class: replace-fodder-full [sel/sw/clang-w-fodder]

Class precedence list: replace-fodder-full, clang-replace, clang-mutation, parseable-replace, parseable-mutation, mutation, oid-object, standard-object, slot-object, t

Slots:

Replace an AST in a clang software object with a full statement fodder AST.

Class: replace-fodder-same [sel/sw/clang-w-fodder]

Class precedence list: replace-fodder-same, clang-replace, clang-mutation, parseable-replace, parseable-mutation, mutation, oid-object, standard-object, slot-object, t

Slots:

Replace an AST in a clang software object with a fodder AST of the same class.

Variable: *clang-w-fodder-mutation-types* [sel/sw/clang-w-fodder]

Cumulative distribution of normalized probabilities of weighted mutations. Currently the weights are assigned so that we roughly preserve the total fraction of decl, swap, and cut mutations from ‘*clang-mutation-types*’. By contrast the fraction of insert, swap, and replace mutations are decreased precipitously to make room for the new fodder mutations. Fodder mutations make up 2/5 of all mutations.

Variable: *clang-w-fodder-new-mutation-types* [sel/sw/clang-w-fodder]

Fodder mutation types.

Variable: *database* [sel/sw/clang-w-fodder]

Database utilized for fodder selection

Function: bind-vars-in-snippet [sel/sw/clang-w-fodder] obj snippet pt

Bind free variables in snippet to in-scope vars at pt.

Returns modified text, and names of bound variables.

Generic Function: pick-snippet [sel/sw/clang-w-fodder] clang-w-fodder &key full class pt decl

Return a snippet from the fodder database.

With keyword :full t, select a full statement element.

With keyword argument :class, select an element of the specified class.

With keyword argument :pt select an element similar to that at :pt in clang-w-fodder in a method-dependent fashion.

With keyword argument :decl select a declaration.

Method: pick-snippet [sel/sw/clang-w-fodder] (obj clang-w-fodder) &key full class pt decl

Return a snippet from the fodder database.

Function: prepare-fodder [sel/sw/clang-w-fodder] obj database snippet pt

Prepare snippet for insertion into obj at pt.


Next: , Previous: , Up: Software Evolution Library Index   [Contents][Index]