noir icon indicating copy to clipboard operation
noir copied to clipboard

Audit preparedness omnibus

Open michaeljklein opened this issue 8 months ago • 0 comments

Problem

This is an omnibus issue for unit testing for audit readiness.

To do:

  • [x] https://github.com/noir-lang/noir/issues/5360
  • [ ] https://github.com/noir-lang/noir/issues/5361
  • [ ] https://github.com/noir-lang/noir/issues/5362
  • [ ] Re-assess according to the summary below

Summary:

  • acir-gen
    • acir-gen optimizations
    • Individual acir-gen functions, e.g. in acir_variables.rs
      • Plan to use quickcheck for unit tests first
      • Need to handle both witnesses and expressions as inputs
        • E.g. convert a witness to an expression by multiplying it by a variable
  • SSA
    • Has a number of smaller SSA passes, some already unit tested
  • Monomorphizer
    • Unit test individual cases, e.g. monomorphizing TypeVariableKind::IntegerOrField
  • Revisit after unit tests:
    • Fuzzing:
      • Areas where bugs were found
      • ACVM solvers
        • Checking that we return proper errors on garbage inputs, e.g. for embedded_curve_add
    • Integration tests for ACVM

Happy Case

We have unit tests for all key cases listed above

Project Impact

None

Impact Context

No response

Workaround

None

Workaround Description

No response

Additional Context

No response

Would you like to submit a PR for this Issue?

None

Support Needs

No response

michaeljklein avatar Jun 04 '24 18:06 michaeljklein