UnitTestBot / UnitTestBot/usvm
The root issue for all TODOs
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 33
- Forks
- 27
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 15
Description
This issue contains all TODOs, so as not to forget them. If you complete any todo from this list, don't forget to add a link to the report in some form.
TODOs
- Benchmark different ways of collecting a guard in the
HeapRefSplittingUtil::filter. - Make a single ite not only for symbolic heap refs, but for concrete heap refs too.
- Compare eager and lazy
UModelperformance. - Structure source files into packages. Fixed in #13
- Add simplifying
UFlatUpdatesinUComposer(case composing on UModel, where stores are concretized and we expect a concrete reading returns a concrete value). Added in #9 -
mkDistinctwith concrete heap refs. - Interning
URegionIds. - Choose constant names carefully in
UExprTranslator. - Deal with big arrays in composition. Idea: we can create a ranged update node with copy from big array and apply it to heap.
- Localized map in memory regions compostion.
- Refactor
UHeapto generic implementation withgetMemoryRegion(regionId: URegionId). - Fix
Type/ArrayTypeinconsistence. - Make recursive-free implementations in
UFlatUpdates. - Implement
UMemory::memset. Added in #17 - Revision and design
UComponentsand DI inusvm. - Implement approximations for
Throwable. - Choose a better way to place
closefunction, related to this PR. - Refactor namings in
RegionTreeand all usages. Fixed in #26 - Fix equals for update nodes and add related tests.
- Think again about array casts and type elations with their elements.
- Think about region refinement with bv constraints and their interaction with memory regions (eager vs lazy style).
includesConcretely,includesSymbolicallylook like good extension points. - Fix translator cache usage in lazy models. Fixed in #28
- Make cache in
DfsIteratoroptional - Refactor the splitting read mechanism.
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
This is a tracking issue containing many unrelated TODOs across components such as HeapRefSplittingUtil::filter, UModel, UFlatUpdates, UComposer, UExprTranslator, UHeap, UComponents, RegionTree, and DfsIterator. Start by selecting one unchecked item and locating its implementation and related tests; completion criteria are not defined for the issue as a whole, so the selected work should be split into a focused issue or pull request.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100