Skip to content

[TS PBT] Project properties and search violations with USVM - #387

Open
CaelmBleidd wants to merge 4 commits into
mainfrom
caelmbleidd/issues-351-352-usvm-property-search
Open

CaelmBleidd wants to merge 4 commits into
mainfrom
caelmbleidd/issues-351-352-usvm-property-search

Conversation

@CaelmBleidd

@CaelmBleidd CaelmBleidd commented Sep 8, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Project supported property domains into USVM inputs with explicit exact, approximate, unsupported, and concrete-only capabilities.
  • Execute supported synchronous preconditions and predicates in one symbolic state according to the [TS PBT][P0] Align and simplify property execution semantics before integration #384 contract.
  • Distinguish reached violations, bounded searches without a reached violation, unsupported execution, property errors, timeouts, engine failures, and input-resolution failures.
  • Preserve a resolved violation candidate when another explored path ends as unsupported or fails, preferring a normal false result over an exception-shaped path.
  • Classify TypeScript exception handlers and optional reference-valued domains as explicitly unsupported instead of reporting unsound exact support.
  • Use the single search/guard execution path for preconditions; remove the duplicate production projector and its duplicate test path.
  • Retain unknown-call observation while using the standard dispatcher directly.

Scope

#386 was squash-merged into main at 53dce8f3. This PR now targets main and contains the dependent #351/#352 symbolic projection and property-violation search. Its diff does not repeat #386's concrete FastCheck changes.

Validation

  • Before this history-only rebase, local check, detektMain, and detektTest passed for both :usvm-ts-pbt and :usvm-ts-fast-check; :usvm-ts-fast-check:installDist, the TypeScript adapter tests, TsMachineCompletionTest, and targeted TS Calls tests also passed.
  • The rebased head 6f4f6909 has the same tree as the previously validated head 2ac03428. git range-diff confirms all four commits are patch-equivalent; git diff --check passes.
  • CI run 36742857800: all six workflow jobs and the separate detekt check passed on head 6f4f6909.

Closes #351
Closes #352

@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/issues-351-352-usvm-property-search branch from 2d9b65a to 0e2dcb1 Compare September 17, 2026 20:31
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/issues-351-352-usvm-property-search branch 2 times, most recently from be966ff to 1beacb7 Compare September 17, 2026 21:05
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/issue-384-property-contract branch from 1a46c28 to b2f7786 Compare September 19, 2026 09:53
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/issue-384-property-contract branch from 0ecfda6 to ee88851 Compare September 30, 2026 12:41
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/issues-351-352-usvm-property-search branch 2 times, most recently from 9dfbf85 to 2ac0342 Compare September 30, 2026 16:04
Base automatically changed from caelmbleidd/issue-384-property-contract to main September 30, 2026 16:11
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.

[TS PBT] Search for property violations with USVM [TS PBT] Project property domains and preconditions into USVM

2 participants