argotorg / argotorg/solidity

[SMTChecker] Support memory/storage pointers

Open
#9,148 3 comments 0 reactions 0 assignees View on GitHub
smt
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
21

Description

Currently aliasing is "supported" by erasing knowledge about all variables of reference type T when another variable of type T is modified (assignment, push, pop).
This includes subtypes of arrays/mappings, for example.

This issue collects ideas on how to implement better support for those.

Contributor guide

Open the contributing guide

Research direction

Start by reading the SMTChecker implementation and the aliasing behavior described in this issue. Investigate how assignments, push, and pop erase knowledge for reference types, then determine what better memory/storage pointer support should cover. Done requires an agreed approach and implementation scope, since the issue currently collects ideas rather than specifying a change.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, solidity
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.