Skip to content

Assignment-3: AE redesign skeleton, harness cleanup, and SVF parity#69

Merged
yuleisui merged 1 commit into
SVF-tools:mainfrom
bjjwwang:refactor/ass3-helper-cleanup
Jun 4, 2026
Merged

Assignment-3: AE redesign skeleton, harness cleanup, and SVF parity#69
yuleisui merged 1 commit into
SVF-tools:mainfrom
bjjwwang:refactor/ass3-helper-cleanup

Conversation

@bjjwwang
Copy link
Copy Markdown
Collaborator

@bjjwwang bjjwwang commented Jun 4, 2026

No description provided.

…ecursion

- Merge Assignment_3_Helper.{cpp,h,py} into AEReporter.{cpp,h,py}; Helper
  files removed.
- Move harness-only state (analyzedNodes / assert_points / caseConfig /
  cycleHeadToCycle*) and metric methods (getAnalyzedNodeCount,
  getTotalNodeCount, getICFGCoverage, hasTargetReport, writeJsonSummary)
  out of AbstractExecution into AEReporter; expose AbstractExecution::
  getReporter() for the test driver.  *cycleHeadToCycle was dead and is
  dropped entirely.
- Drop Ass3StateManager class; fold the 11 state-manager primitives
  (getAbsValue / updateAbsValue / loadValue / storeValue / getGepObjAddrs /
  getGepElementIndex / getGepByteOffset / getAllocaInstByteSize) into
  AbstractExecution; student code now calls them as bare methods.
- Replace the old OVERFLOW stub with the SAFE/UNSAFE_BUFACCESS and
  SAFE/UNSAFE_PTRDEREF checkpoint stubs throughout (handleCallSite,
  handleStubFunctions, handleCheckpointStubs, isExternalCallForAssignment,
  ensureAllAssertsValidated).  Checkpoints now record their call sites in
  assert_points so coverage is verified.
- Replace the dynamic `_funcsInFlight` recursion guard in handleFunction
  with the static `inSameCallGraphSCC` check in handleCallSite, mirroring
  SVF's AbstractInterpretation::skipRecursiveCall.
- Update public test cases to match the new stub names: null_deref now
  calls UNSAFE_PTRDEREF (was UNSAFE_LOAD); buf_overflow now declares its
  out-of-bounds write with UNSAFE_BUFACCESS.
- Update file headers from "buffer overflow detection" to "bug detection".
@yuleisui yuleisui merged commit 2cfd3d0 into SVF-tools:main Jun 4, 2026
2 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.

2 participants