Hi Sujal,
There's a lot of things that can be worked on with the assumption system. Currently there are several big and
important open PRs that you should take a look at:
- Krishnav Bajoria's GSoC work:
- My PRs:
that were hard to review all at once. It could be pretty impactful to finish them up and integrate them with the rest of the assumption system.
My GSoC work actually has similar problems even though it got merged; PR #4 in the list above addresses some of these problems. (By the way, it would be great if in your GSoC proposal you discussed how you might avoid falling into the trap Sujal and I fell in to of having one or two massive PRs with the bulk of
our GSoC work that are hard to review).
There's a lot of things that could be improved so you have a lot of flexibility in what you could write your GSoC proposal about. However, my suggestion is that you
focus on smoothing over the many rough edges of the assumption system so everything works more harmoniously together. I know that sounds pretty vague.
What I mean by this is that rather than implementing a new algorithm like Krishnav and I did you could improve upon and better integrate existing algorithms and
assumption subsystems. For example, I think the following issue could be the type of thing you devote one or two weeks to during GSoC (or maybe even fix beforehand):
-
lra_theory: Implement more preprocessing stepsAnother (probably more difficult) issue that would be great to fix would be to revive Krishnav's PRs and get them merged.
Something to keep in mind is that the tests for the assumption system are not great. Also, beyond the performance improvements, PR #3 is very significant because
it will
make testing the different assumption subsystems separately
possible. So improving the testing system could be an important part the "roughing out the smooth edges"
of the assumption system idea. It could probably also just be its own separate GSoC project. You might want to take a look at this issue about improving the way the
assumption system subsystems are tested:
That file is a WIP and entirely AI written so I would take everything in it with a grain of salt (though it has found some bugs). However, I think that style of testing could be used
for the rest of the assumption system. I'm not super familiar with
Hypothesis python library but Aaron
Meurer is and it could be good to read about it. You might also want to
read about
fuzzing.
Please let me know of you have any questions. Asking smart questions is a great way to show that you would do well if you did GSoC.
Sincerely,
Tilo RC