Skip to content

Add design docs for state dependency graph, dataflow analysis, unused computation, and redundant copies - #855

Merged
mijinummi merged 1 commit into
MDTechLabs:mainfrom
AbdulmujibOladayo:docs/issues-833-834-835-836
Aug 28, 2026
Merged

Add design docs for state dependency graph, dataflow analysis, unused computation, and redundant copies#855
mijinummi merged 1 commit into
MDTechLabs:mainfrom
AbdulmujibOladayo:docs/issues-833-834-835-836

Conversation

@AbdulmujibOladayo

Copy link
Copy Markdown
Contributor

This PR adds design/spec docs for four related Soroban static-analysis features, grounding each in the repo's existing analyzer and rule conventions (src/analysis/dependency-graph/, src/graphs/stellar/call-graph/, packages/rules/soroban/src/).

Closes #833
Builds a state dependency graph (src/analysis/state-graph/) modeling Soroban env.storage() reads, writes, and the computations connecting them, so later rules can reason about non-local dependencies instead of scanning line-by-line.

Closes #834
Specifies a dataflow analyzer (src/analysis/dataflow/) that tracks variable definitions, uses, function arguments, and return values across basic control-flow paths, feeding both #835 and #836.

Closes #835
Defines SorobanUnusedComputationRule (packages/rules/soroban/src/unused-computation-check.ts), which flags computed values that are bound but never subsequently read, returned, or passed as an argument, using the #834 dataflow output.

Closes #836
Defines SorobanUnnecessaryCopyRule (packages/rules/soroban/src/unnecessary-copy-check.ts), which flags redundant let x = y.clone(); copy chains while explicitly excluding function-parameter-sourced values to avoid ownership-related false positives.

@drips-wave

drips-wave Bot commented Aug 28, 2026

Copy link
Copy Markdown

@AbdulmujibOladayo Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@mijinummi
mijinummi merged commit c11dce3 into MDTechLabs:main Aug 28, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants