Fredrik Dahlgren
27e6311a61
Bumped versions
2022-09-13 09:22:33 +02:00
Fredrik Dahlgren
593e357c4e
Improved handling of custom templates
2022-09-13 09:13:58 +02:00
Fredrik Dahlgren
f66900dc93
Updated warning for binary conversion analysis pass
2022-09-12 22:24:12 +02:00
Fredrik Dahlgren
3cdd3c3fc5
Update to support Circom 2.0.8
2022-09-12 21:59:23 +02:00
Fredrik Dahlgren
ff820f1e0c
Bumped package versions
2022-09-12 13:53:57 +02:00
Fredrik Dahlgren
1e5a4a6a25
Bumped circomspect-program-structure version
2022-09-12 13:51:01 +02:00
Fredrik Dahlgren
3a2cfd3b03
Added metadata to Cargo.toml
2022-09-12 11:37:56 +02:00
Fredrik Dahlgren
efcf008341
Fixed test failures due to renaming
2022-09-12 11:26:01 +02:00
Fredrik Dahlgren
92a73d7816
Renamed internal crates to avoid crates.io namespace collisions
2022-09-12 11:15:37 +02:00
Fredrik Dahlgren
27dd74dae5
Added version information for internal crates to Cargo.toml
2022-09-12 11:02:39 +02:00
Fredrik Dahlgren
9cf62d5966
Better output from side-effect analysis
2022-09-12 10:50:24 +02:00
Fredrik Dahlgren
5770f1bcf6
Track original names in side-effect analysis
2022-09-12 09:30:28 +02:00
Fredrik Dahlgren
3cc44f4560
Added ReportWriter
...
This change also adds the verbose output options to the CLI.
2022-09-12 09:22:15 +02:00
Fredrik Dahlgren
31cb9924f8
Fixed clippy suggestions
2022-09-08 12:11:00 +02:00
Fredrik Dahlgren
65793b9717
Added degree analysis to signal assignment analysis pass
2022-09-07 19:25:54 +02:00
Fredrik Dahlgren
91b860945e
Refactored side-effect analysis
2022-09-07 19:25:24 +02:00
Fredrik Dahlgren
b476ed3095
Exit early for functions
2022-09-07 19:24:59 +02:00
Fredrik Dahlgren
5edf136e4a
Edited comments
2022-09-07 19:23:20 +02:00
Fredrik Dahlgren
149f64282d
Switched rustfmt to more sensible defaults
2022-09-02 14:08:50 +02:00
Fredrik Dahlgren
4fed2c5078
Fixed clippy lints
2022-09-01 15:09:46 +02:00
Fredrik Dahlgren
993318d6fe
Added definition complexity pass
2022-09-01 13:55:44 +02:00
Fredrik Dahlgren
ff34a68ffb
Updated warning message
2022-09-01 13:55:25 +02:00
Fredrik Dahlgren
7c01140bac
Completely rewrote side-effect analysis
2022-09-01 13:55:01 +02:00
Fredrik Dahlgren
de905848b0
Added constraint analysis to crate
2022-08-31 12:33:31 +02:00
Fredrik Dahlgren
e27834eef5
Updated taint analysis test case
2022-08-31 12:33:10 +02:00
Fredrik Dahlgren
d0f47acd29
Rewrote taint analysis
2022-08-31 12:29:53 +02:00
Fredrik Dahlgren
a34e505af6
Added ConstraintAnalysis
2022-08-31 11:31:56 +02:00
Fredrik Dahlgren
3c99485133
Updated analyses to handle IR declarations
2022-08-31 11:29:19 +02:00
Fredrik Dahlgren
a74ce26746
Bug fix in side-effect analysis
2022-08-25 12:05:04 +02:00
Fredrik Dahlgren
254b7844c6
Updated missing side-effect warning message
2022-08-25 11:13:49 +02:00
Fredrik Dahlgren
7315d9dd3a
Ran cargo fmt
2022-08-25 10:38:18 +02:00
Fredrik Dahlgren
252224c336
Added side-effects analysis and removed dead assignment analysis
2022-08-25 09:53:41 +02:00
Fredrik Dahlgren
6a362c39c4
Renamed VariableUse methods
2022-08-25 09:52:42 +02:00
Fredrik Dahlgren
5da6379824
Added Access and Update expression nodes to IR
2022-08-24 11:06:42 +02:00
Fredrik Dahlgren
0e3c3c823c
Added lint for non-strict Num2Bits and Bits2Num
2022-08-05 22:56:38 +02:00
Fredrik Dahlgren
4935260153
Updated signal assignment lint
...
The resulting report now contains all constraints for the assigned signal.
2022-08-05 16:22:47 +02:00
Fredrik Dahlgren
10bb695aac
Updated signal assignments lint to handle accesses
2022-08-01 22:07:05 +02:00
Fredrik Dahlgren
0ff0c83a62
Added missing minus sign to note
2022-08-01 22:03:10 +02:00
Fredrik Dahlgren
143dfd69be
Updated VariableMeta to take accesses into account
2022-07-31 22:11:56 +02:00
Fredrik Dahlgren
a295f944dc
Added detection of unused function/template parameters
2022-07-12 20:31:03 +02:00
Fredrik Dahlgren
cdf4e63e64
Ran cargo fmt
2022-07-03 16:27:17 +02:00
Fredrik Dahlgren
0b0fb3eee5
Added bitwise complement analysis pass
2022-07-03 16:11:26 +02:00
Fredrik Dahlgren
a068af8c80
Added variable accesses to field arithmetic analysis pass
2022-07-03 16:10:36 +02:00
Fredrik Dahlgren
0b389c4d08
Add unit tests to analysis passes
2022-07-02 09:43:45 +02:00
Fredrik Dahlgren
a277368896
Changed Cfg::into_ssa to return self
2022-07-02 09:40:45 +02:00
Fredrik Dahlgren
97e243d91b
Don't version arrays.
2022-07-01 12:13:08 +02:00
Fredrik Dahlgren
a9ccef75da
Removed Declaration enum variant from IR.
...
Declarations are now tracked by the CFG header. The set of declared variables is obtained by calling `Cfg::get_variables()`, and the declaration for variable `v` can be obtained by calling `Cfg::get_declaration(v)`.
2022-05-27 14:33:10 +02:00
Fredrik Dahlgren
552464b334
Fixed Clippy lints.
2022-05-27 10:02:45 +02:00
Fredrik Dahlgren
fddc5aebbf
Replaced quotes with backticks in log messages.
2022-05-27 08:53:26 +02:00
Fredrik Dahlgren
3fed5bc136
Implemented constant value propagation
...
Added constant value propagation for expressions. This is used to implement the constant conditional analysis pass.
2022-05-27 08:46:39 +02:00