Tritlo / PropR

Genetic program repair using GHC
MIT License
30 stars 2 forks source link

Refinement hole-fits should be considered #59

Closed Tritlo closed 3 years ago

Tritlo commented 3 years ago

Right now the repair only suggests fixes which consist of replacing an expression with

  1. a single identifier which has the same type as the expression, or
  2. an already existing expression in the program which has the same type.

However, this is very limited. We do however have an ace in our hole: refinement hole-fits.

Refinement hole-fits are hole-fits which have additional holes in them, essentially saying "this function applied to the right arguments would have the correct type", which is very powerful. We can generate such fits easily by increasing the hole-lvl parameter, which controls the number of additional holes allowed. Picking the right arguments is tricky, but I think it could be integrated into our current approach.