Automatic Precision Refinement during Interactive Analysis
Nobody has claimed this yet.
- Dominant language
- OCaml
- Stars
- 252
- Forks
- 90
- Avg merge
- 4d 1m
- Merged PRs (30d)
- 19
Description
Instead of having everything annotated by hand by the user, there could be something tried out automatically.
For the first version, we can try to propagate precision up the call graph (inspired by Simmo's call graph).
The idea/steps for that would go like this:
- We keep a hashmap that maps functions (
fundec) to their configurations (precision). It's initialized according to the config flags. - When we find a case where we're not sufficiently precise, namely we find a failing assert, we try to first increase the precision in the function where we found the assert and we update the hashtable and rerun the analysis.
- If the assert still fails then we would propagate the precision to the functions calling the one with a failing assert.
If someone has a better idea than using a hashmap, feel free to suggest.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by locating the precision configuration, fundec handling, call-graph traversal, and failing-assert analysis paths. Done means precision can be increased at a failing assertion, retried, and propagated to callers when the assertion still fails.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- compilers, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100