Commit Graph

66 Commits

Author SHA1 Message Date
Fredrik Dahlgren
4efcd83c9e Renamed analysis pass in debug output 2022-11-21 10:31:42 +01:00
Fredrik Dahlgren
cf22120d59 Fixed unit test for unconstrained-less-than 2022-11-19 18:06:55 +01:00
Fredrik Dahlgren
10b7283fe4 Fixed Clippy suggestions 2022-11-19 18:03:07 +01:00
Fredrik Dahlgren
4cd229b852 Added unit test for BN128-specific circuits analysis pass 2022-11-19 17:11:07 +01:00
Fredrik Dahlgren
2bc9b92c5c Added BN128-specific circuits analysis pass 2022-11-18 17:25:40 +01:00
Fredrik Dahlgren
5e234c4b18 Commented out log statements from side-effects analysis 2022-11-17 17:36:46 +01:00
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
288bbfbe9f Code cleanup 2022-11-17 12:12:07 +01:00
Fredrik Dahlgren
adde91f1e3 Bumped versions 2022-09-13 10:31:25 +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
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