Skip to main content

Sponsor Development

iec-checker is licensed under LGPL-3.0 — you can link against it, integrate it with commercial toolchains, fork and modify it; the only restriction is that changes in the fork must be published under the same license.

In the meanwhile, if you want to support its open-source development and get it to work for your specific needs and/or your proprietary PLC tooling, you could fund its development.

AreaDescription
Vendored extensions supportPLC development tools do not follow the standard strictly and always introduce changes in syntax and/or semantics of the languages. Funded work can add first-class support for your vendor's dialect.
More input formatsMore input formats used by PLC programming environments can be supported — for example, SEL XML is already implemented.
More languagesIL, FBD, LD, and SFC could be supported. Since these languages don't have a stable open-source compiler and no standard format (PLCOpen XML is not adopted well), they were not implemented — but it can be done for your tooling. Additional non-standard DSLs used in control programs may be supported as well.
More detectors, more powerful analysisWhile PLCOpen detectors don't require complicated techniques, classic approaches to program analysis and lightweight formal methods may be applied to PLC languages, adding more value in checking PLC code.
Safety standards and qualificationThe tool could be adjusted to support more standards beyond PLCOpen, e.g. functional safety standards. The tool is not certified, but it could be a matter of qualification.
Developing custom integrationsSecurity or development tooling like structure-aware fuzzing/PBTs of PLCs, IDE/LSP server integration, CI/CD DevSecOps tools are examples of how the checker's internals could be used.

If any of the above is of interest, or you need help on specific issues, reach out at jubnzv@gmail.com.