Skip to content

[dev_tools] Add symex_main CLI tool for symbolic path exploration and test generation - #4893

Closed
copybara-service[bot] wants to merge 1 commit into
mainfrom
test_974746096
Closed

copybara-service[bot] wants to merge 1 commit into
mainfrom
test_974746096

Conversation

@copybara-service

Copy link
Copy Markdown

[dev_tools] Add symex_main CLI tool for symbolic path exploration and test generation

Introduces //xls/dev_tools:symex_main, a developer CLI utility for standalone symbolic execution of XLS IR functions:

  • Supports loading IR packages via positional argument (symex_main <design.ir>) and optional entry function selection via --top=<fn>.
  • Supports concrete input parameter constraints via --concrete_inputs=param=val,... to prune path exploration concolically.
  • Prints human-readable path summaries with evaluated return values to stdout by default.
  • Emits testvector textprotos (xls::testvector::SampleInputsProto) via --output_testvector_textproto=<path>.
  • Supports path bounding via --max_paths.
  • Adds hermetic standalone Python CLI unit tests in symex_main_test.py.

… test generation

Introduces `//xls/dev_tools:symex_main`, a developer CLI utility for standalone symbolic execution of XLS IR functions:
- Supports loading IR packages via positional argument (`symex_main <design.ir>`) and optional entry function selection via `--top=<fn>`.
- Supports concrete input parameter constraints via `--concrete_inputs=param=val,...` to prune path exploration concolically.
- Prints human-readable path summaries with evaluated return values to stdout by default.
- Emits testvector textprotos (`xls::testvector::SampleInputsProto`) via `--output_testvector_textproto=<path>`.
- Supports path bounding via `--max_paths`.
- Adds hermetic standalone Python CLI unit tests in `symex_main_test.py`.

PiperOrigin-RevId: 974746096
@copybara-service copybara-service Bot closed this Sep 8, 2026
@copybara-service
copybara-service Bot deleted the test_974746096 branch September 8, 2026 22:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant