Skip to content

Conversation

@Gitubrr
Copy link

@Gitubrr Gitubrr commented Dec 19, 2025

removed pathConditionRoot from the states

@Gitubrr Gitubrr requested review from Anya497 and gsvgit December 19, 2025 19:00
Copy link
Member

@gsvgit gsvgit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix edges addition between state and PathCondition.


index_pcToState.[firstFreePositionInPcToState] <-
int64 pathConditionVerticesIds[state.PathCondition.Id]
int64 pathConditionVerticesIds[state.PathCondition.[firstFreePositionInPcToState]]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks strange. You should add edges between state and all vertices in state.PathCondition.

| StandardFunctionApplication = 45
| Cast = 46
| Combine = 47
| PathConditionRoot = 48
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line can be removed too.

@Gitubrr Gitubrr requested review from Anya497 and gsvgit December 23, 2025 22:54
)

pathConditionDelta.Add pathConditionRoot
let pathConditionId = [| for p in pathCondition -> termsWithId.[p] |]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why "id"? Why not just pathCondition?

parentOf[j] <- int64 stateIds[state.Id]
parentOf[numOfParentOfEdges + j] <- int64 stateIds[children])

firstFreePositionInParentsOf <- firstFreePositionInParentsOf + state.Children.Length
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like you missed firstFreePositionInParentsOf updating step.

state.PathCondition
|> Array.iteri (fun i pcId ->
let j = firstFreePositionInPcToState + i
index_pcToState[j] <- int64 pathConditionVerticesIds[pcId]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like you forgot to update firstFreePositionInPcToState.

|> Array.iteri (fun i pcId ->
let j = firstFreePositionInPcToState + i
index_pcToState[j] <- int64 pathConditionVerticesIds[pcId]
index_pcToState[numOfParentOfEdges + j] <- int64 stateIds[state.Id])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why so strange position in index_pcToState to write?

@Gitubrr Gitubrr requested a review from gsvgit December 24, 2025 14:08
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.

4 participants