Skip to content

Add format string resolution provider APIs - #8380

Draft
plafosse wants to merge 6 commits into
devfrom
test_format_string_resolution_provider
Draft

Add format string resolution provider APIs#8380
plafosse wants to merge 6 commits into
devfrom
test_format_string_resolution_provider

Conversation

@plafosse

@plafosse plafosse commented Aug 2, 2026

Copy link
Copy Markdown
Member

Summary

  • add the public C++ FormatStringResolutionProvider interface with platform-aware type resolution and confidence preservation
  • provide the C-style format string implementation as a standalone core plugin that registers itself from CorePluginInit
  • expose provider registration, enumeration, lookup, and resolution through Python
  • expose the same provider surface through Rust with balanced callback and type ownership

The corresponding core and workflow changes are in binaryninja#1732.

Why

Format string analysis was previously fixed to built-in behavior and the C-style provider was only available when tests explicitly registered it. This makes providers pluggable and ensures the bundled C-style implementation is loadable in headless sessions.

Validation

  • standalone core plugin loaded by bundled headless bnpython3
  • Python provider tests: 3 passed
  • Rust provider tests: 3 passed
  • Rust formatting, clippy with warnings denied, and documentation generation passed
  • complete parent Python suite: 6,082 passed, 273 skipped, 5 deselected, 119 subtests passed

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