Next: SOFTWARE-EVOLUTION-LIBRARY/SOFTWARE/COMPILABLE, Previous: SOFTWARE-EVOLUTION-LIBRARY/SOFTWARE/CLANG-PROJECT, Up: Software Evolution Library Index [Contents][Index]
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 precedence list: insert-fodder, clang-insert, clang-mutation, mutation, oid-object, standard-object, slot-object, t
Slots:
targeter
— initarg: :targeter
; reader: software-evolution-library/software-evolution-library:targeter
A function from software ->
targets.
picker
— initarg: :picker
; reader: software-evolution-library/software-evolution-library:picker
A function from software ->
random target.
Insert a fodder AST into a clang software object.
Class precedence list: insert-fodder-decl, clang-insert, clang-mutation, mutation, oid-object, standard-object, slot-object, t
Slots:
targeter
— initarg: :targeter
; reader: software-evolution-library/software-evolution-library:targeter
A function from software ->
targets.
picker
— initarg: :picker
; reader: software-evolution-library/software-evolution-library:picker
A function from software ->
random target.
Insert a Decl fodder AST into a clang software object.
Class precedence list: insert-fodder-decl-rep, clang-insert, clang-mutation, mutation, oid-object, standard-object, slot-object, t
Slots:
targeter
— initarg: :targeter
; reader: software-evolution-library/software-evolution-library:targeter
A function from software ->
targets.
picker
— initarg: :picker
; reader: software-evolution-library/software-evolution-library:picker
A function from software ->
random target.
First apply ‘insert-fodder-decl’ then ‘rename-variable’ mutations. Ensure that the name of the inserted decl is used by ‘rename-variable’.
Class precedence list: insert-fodder-full, clang-insert, clang-mutation, mutation, oid-object, standard-object, slot-object, t
Slots:
targeter
— initarg: :targeter
; reader: software-evolution-library/software-evolution-library:targeter
A function from software ->
targets.
picker
— initarg: :picker
; reader: software-evolution-library/software-evolution-library:picker
A function from software ->
random target.
Insert a full statement fodder AST into a clang software object
Class precedence list: replace-fodder-full, clang-replace, clang-mutation, parseable-replace, parseable-mutation, mutation, oid-object, standard-object, slot-object, t
Slots:
targeter
— initarg: :targeter
; reader: software-evolution-library/software-evolution-library:targeter
A function from software ->
targets.
picker
— initarg: :picker
; reader: software-evolution-library/software-evolution-library:picker
A function from software ->
random target.
Replace an AST in a clang software object with a full statement fodder AST.
Class precedence list: replace-fodder-same, clang-replace, clang-mutation, parseable-replace, parseable-mutation, mutation, oid-object, standard-object, slot-object, t
Slots:
targeter
— initarg: :targeter
; reader: software-evolution-library/software-evolution-library:targeter
A function from software ->
targets.
picker
— initarg: :picker
; reader: software-evolution-library/software-evolution-library:picker
A function from software ->
random target.
Replace an AST in a clang software object with a fodder AST of the same class.
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.
Fodder mutation types.
Database utilized for fodder selection
Bind free variables in snippet
to in-scope vars at pt
.
Returns modified text, and names of bound variables.
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.
Return a snippet from the fodder database.
obj
software object to pick a fodder snippet for
full
select a full statement element if true
class
select an element of the specified class
pt
select an element similar to pt
in obj
in a method-dependent fashion
decl
select a decl AST if true
Prepare snippet
for insertion into obj
at pt
.
obj
clang software object to be injected with snippet
database
fodder database containing snippet
snippet
fodder snippet to inject
pt
point where fodder snippet is to be injected