Skip to content

Recognize evidenced STL, ATL and libc operations across source views - #537

Merged
gmh5225 merged 7 commits into
devfrom
codex/issue-495-library-recognition
Oct 5, 2026
Merged

gmh5225 merged 7 commits into
devfrom
codex/issue-495-library-recognition

Conversation

@gmh5225

@gmh5225 gmh5225 commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Recognizes supported standalone and inlined STL/ATL operations so function lists, call sites and decompiled views can show readable library identities with traceable evidence. Five compiler-backed profiles cover 59 libc++, MSVC STL, shared ATL/MFC string, COM and musl rules. Bounded MedIR matching and existing byte signatures require consistent identity/layout/dataflow evidence; ambiguous matches and custom lookalikes remain unchanged.

The shared session identity preserves user/stated names and raw linkage while providing qualified display names. HighC and LLVMC record precise original occurrences, including PDB member projections, and authorize a fold only when the annotated render reproduces ordinary C byte for byte. Desktop folds are reversible; copy and export retain complete source. CLI JSON and worker pages expose the same identities and evidence. A call remains a statement when LLVMC projects its return to void, preserving its effects.

Feature data is in merged signatures #16. This PR pins the unchanged data plus the consumer receipt in signatures #17. The receipt records the tested engine revision, exact coverage and limitations; rule verification flags remain pending separate review.

Validation on macOS arm64 Release with the NeverD LLVM r3 toolchain:

  • 34 library cases exercise all 59 rules, standalone/inline forms, both source routes and NoOpt LLVMC, conflicts, near misses and unchanged IR.
  • 65 session, 132 signature, 99 debug-info and 56 PDB-identity tests passed.
  • 1,764 source regressions and 59 LLVMC value-semantic tests passed.
  • Three real CLI/worker integrations passed: libc++ C compilation, MSVC PDB mapping, distinct template names, stable C identifiers and unchanged source. Two existing source tests now parse JSON structurally so optional display fields remain compatible.
  • All 23 desktop/worker tests passed. All 11 GUI locales and 254 source keys, 230 documentation/capability tests, pinned formatting and provenance for all 140 changed files passed.
  • Five feature packs / 59 rules validated; all 28 focused feature Python tests passed. Earlier SDK validation ran 151 tests with 56 native-dependent skips; strict typing and ABI audit passed.

The full aggregate is not green. The integrated run executed 15,572 CTest entries with 113 failures. Lower-concurrency replay and a separate build of dev c32e0a31c reproduced 88 distinct failures on both revisions. Two newly exposed JSON-parser test failures were fixed and passed; a Swift compiler timeout passed on retry. The machine-readable receipt lists the baseline failures. Existing dev benchmark reports also fail the repository-wide private-path check; this PR's changed files pass separately.

CPU/driver emulation, Unicorn semantic tests and the external binary corpus were disabled. MSVC PDB views retain their existing external record-type requirements; no self-contained STL recompilation is claimed. ATL fixtures are analysis-only and do not authorize native exception rewriting. The shared-tail musl memmove body retains recognition but remains unfolded. The full signatures Python suite has 7 existing macOS collector/tool compatibility errors among 173 tests, separate from the passing feature tests.

Closes #495.

@NeverSightAI
NeverSightAI marked this pull request as ready for review October 5, 2026 13:45
@gmh5225
gmh5225 merged commit f8ef0d1 into dev Oct 5, 2026
10 of 18 checks 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.

Improve STL/ATL signature recognition and decompiler presentation

2 participants