Published March 9, 2023 | Version 1.0.0
Software Open

Verification of a neural network controller encoded on a PLC program

  • 1. ROR icon TU Wien

Contributors

Project member:

  • 1. ROR icon European Organization for Nuclear Research
  • 2. ROR icon Norwegian University of Science and Technology

Description

Different methods to verify a neural network controller encoded on a PLC program are presented in these files. Each of the main folders contains a different approach.

  • PLCverif_CBMC/PLCverifProject contains the original PLC code.
  • PLCverif_CBMC has the C code that is executed by CBMC to verify all the properties.
  • nnenum contains the code used to verify different properties using the neural network verifier nnenum.
  • testing has the Jupyter notebook that was used to test all the combinations of the inputs and check if the properties were satisfied.
  • Z3 holds the Jupyter notebook that uses the Python API of Z3 to verify different properties.
  • The README file contains some instructions to run the different files.

Files

VerificationNN_PLC.zip

Files (456.9 KiB)

Name Size
md5:adcb29022f9cfa56a08e565ea50789ac
456.9 KiB Preview Download