Fredrik Dahlgren
8a31514734
Added unconstrained-less-than analysis pass
2022-11-17 15:31:06 +01:00
Fredrik Dahlgren
4cae982b36
Added maximum running times for degree and value propagation algorithms
...
Analysis will currently choke on CFGs with a large (over 65 000) variables. This bounds the running time for degree and value propagation. We still need to handle side-effect analysis.
2022-11-17 15:29:40 +01:00
Fredrik Dahlgren
ac43452f9a
Added fmt::Debug implementation for ir::AccessType
2022-11-17 12:19:43 +01:00
Fredrik Dahlgren
385daf7995
Bug fix in value propagation
...
Previously, value propagation would propagate values from `rhe` to `v` (rather than `v[i]`) in statements like `v[i] = rhe`.
2022-11-17 12:18:25 +01:00
Fredrik Dahlgren
90c6c75fc3
Added ValueKnowledge unit test
2022-11-17 12:14:56 +01:00
Fredrik Dahlgren
73a9b69a69
Renamed DominatorTree API
2022-11-17 12:14:31 +01:00
Fredrik Dahlgren
e290fd0d56
Added MessageCategory::to_level
2022-11-17 12:12:53 +01:00
Fredrik Dahlgren
288bbfbe9f
Code cleanup
2022-11-17 12:12:07 +01:00
Fredrik Dahlgren
9bd1a7fc73
Fixed report code spelling
2022-09-24 18:28:40 +02:00
Filipe Casal
a15270e796
Sarif: use name instead of id.
2022-09-13 12:42:54 +01:00
Filipe Casal
a6bff9294f
Add rule names to the sarif report.
2022-09-13 11:51:37 +01:00
Fredrik Dahlgren
1f9f0cb8f1
Updated Sarif conversion to support rule names
2022-09-13 12:46:00 +02:00
Fredrik Dahlgren
adde91f1e3
Bumped versions
2022-09-13 10:31:25 +02:00
Fredrik Dahlgren
505a5380d0
Fixed clippy suggestion
2022-09-13 10:25:51 +02:00
Fredrik Dahlgren
48086a3e01
Improved degree propagation
...
Degree propagation now does fixed point iteration.
2022-09-13 10:23:26 +02:00
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
3cdd3c3fc5
Update to support Circom 2.0.8
2022-09-12 21:59:23 +02:00
Fredrik Dahlgren
1e5a4a6a25
Bumped circomspect-program-structure version
2022-09-12 13:51:01 +02:00
Fredrik Dahlgren
c978a79882
Bug fix in Statement implementation of VariableMeta
...
The implementation did not track accesses to written variables.
2022-09-12 13:47:34 +02:00
Fredrik Dahlgren
87a4c150e4
Added log message for Sarif generation
2022-09-12 12:34:15 +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
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
db1492883f
Renamed DegreeKnowledge::degree_range
2022-09-08 11:40:10 +02:00
Fredrik Dahlgren
65793b9717
Added degree analysis to signal assignment analysis pass
2022-09-07 19:25:54 +02:00
Fredrik Dahlgren
ae6d970486
Added DegreeMeta
2022-09-07 19:23:56 +02:00
Fredrik Dahlgren
5edf136e4a
Edited comments
2022-09-07 19:23:20 +02:00
Fredrik Dahlgren
5a67df1964
Added dimensions to Declaration
2022-09-07 19:22:50 +02:00
Fredrik Dahlgren
06e4c0b363
Ran cargo fmt
2022-09-02 16:40:50 +02:00
Fredrik Dahlgren
0cc6e1ba74
Bug fix in CFG generation
...
The conversion to unique variable names contained an error where we failed to convert variable names occurring in variable accesses.
2022-09-02 16:38:15 +02:00
Fredrik Dahlgren
149f64282d
Switched rustfmt to more sensible defaults
2022-09-02 14:08:50 +02:00
Fredrik Dahlgren
cf2c945e9e
Remove trace println statement
2022-09-01 15:10:52 +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
7c01140bac
Completely rewrote side-effect analysis
2022-09-01 13:55:01 +02:00
Fredrik Dahlgren
3b4b1a138d
Added trait derives to Declaration
2022-09-01 13:53:39 +02:00
Fredrik Dahlgren
d3bc72a2ee
Bug fix in SSA generation
...
The SSA environment used strings to track variables which meant that variable name suffixes added to ensure uniqueness were lost.
2022-09-01 13:53:04 +02:00
Fredrik Dahlgren
bf1ce68c4a
Renamed local variable
2022-09-01 13:51:57 +02:00
Fredrik Dahlgren
e6420a840a
Added DefinitionType
...
This should probably be handled by converting `Cfg` to an enum instead.
2022-09-01 13:51:29 +02:00
Fredrik Dahlgren
fbd59d3b00
Improved errors for undefined variables
2022-09-01 13:50:32 +02:00
Fredrik Dahlgren
c4035f6fed
Better Debug implementation for IR statements
2022-09-01 13:49:42 +02:00
Fredrik Dahlgren
8a137ee69c
Bug fix in VariableMeta for IR statements
2022-09-01 13:49:10 +02:00
Fredrik Dahlgren
1a805b0a56
Added VariableMeta::variables_used
2022-09-01 13:48:05 +02:00
Fredrik Dahlgren
a9dd70c43b
Removed trace println statements from cfg.rs
2022-08-31 11:33:15 +02:00
Fredrik Dahlgren
3cac2d7695
Added get_true_branch and get_false_branch to Cfg
2022-08-31 11:31:34 +02:00