Skip to content

prog: humanize syzlang in seed programs and reproducers #5877

@a-nogikh

Description

@a-nogikh

https://github.com/google/syzkaller/blob/master/docs/program_syntax.md

Some relatively simple steps we could do to make our seed programs much easier to write.

  1. Support multi-line call statements. If we define some complex variables in normal programming languages, arrays and fields are often split into several lines to aid comprehension.
    (As discussed with @dvyukov, we could implement it very easily by restricting the set of the tokens before the line break. {, [ and , seem to be enough for almost all cases.)

  2. Add optional field names for structures.
    We probably still don't want structure names because in the presence of templates they may be vey unexpected-looking

  3. Auto-rewrite the existing seeds using 1 and 2. It could also be some auto-formatter included in make format like we do for the descriptions in sys/*/*.

  4. Add support for referencing const values by name.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions