Verification of a neural network controller encoded on a PLC program

DOI

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.

Identifier
DOI https://doi.org/10.48436/fww3h-2y402
Related Identifier IsVersionOf https://doi.org/10.48436/y3skv-1hj15
Metadata Access https://researchdata.tuwien.ac.at/oai2d?verb=GetRecord&metadataPrefix=oai_datacite&identifier=oai:researchdata.tuwien.ac.at:fww3h-2y402
Provenance
Creator Lopez-Miguel, Ignacio D.
Publisher TU Wien
Contributor Fernández Adiego, Borja; Ghawash, Faiq; Blanco Viñuela, Enrique
Publication Year 2023
Rights MIT License; https://opensource.org/licenses/MIT
OpenAccess true
Contact tudata(at)tuwien.ac.at
Representation
Resource Type Software
Version 1.0.0
Discipline Other