kaitai-io / kaitai_struct

Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
https://kaitai.io
3.94k stars 191 forks source link

Automatic static and dynamic code analysis for generated code #348

Open KOLANICH opened 6 years ago

KOLANICH commented 6 years ago

There may be some issues in compiler-generated code. To find them it may be needed to run a static code analyser like pvs studio against the generated code.

1 the compiler compiles all the library 2 the static code analysis is run against the compiled code. 3 found issues are used to improve the compiler and runtime.

Fuzzing also may be helpful. 1 the compiler compiles all the formats having test files into C++ 2 a program is built 3 a fuzzer is run (I guess there should be a project of a kaitai-powered fuzzer, but it obviously requires serialization) 4 the fuzzing results (crashes) are used to improve compiler and runtime

KOLANICH commented 5 years ago

https://github.com/google/oss-fuzz