Skip to content

Add an example app with paths extraction#49

Open
vkutuev wants to merge 24 commits intoFormalLanguageConstrainedPathQuerying:mainfrom
vkutuev:path-extractor
Open

Add an example app with paths extraction#49
vkutuev wants to merge 24 commits intoFormalLanguageConstrainedPathQuerying:mainfrom
vkutuev:path-extractor

Conversation

@vkutuev
Copy link

@vkutuev vkutuev commented Mar 7, 2026

Adds a demo application for extracting paths

  • Grammar: field-sensitive pointer analysis
  • All paths stop strategy: dfs with bounded depth

@vkutuev vkutuev requested review from bachish and gsvgit March 7, 2026 21:20
Copy link
Collaborator

@bachish bachish left a comment

Choose a reason for hiding this comment

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

Great that you add human-readable examples. I left some issues, but they are not critical can be fixed in next MR's.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Why "me" and "vkutuev" in path? It would be better to name with corresponds to project/task semantic, not author (you can set author in file jacadoc if needed)

class PointsToGrammar : Grammar() {
val S by Nt().asStart()
val Alias by Nt()
val PointsTo by Nt(many("assign" or ("load_0" * Alias * "store_0")
Copy link
Collaborator

Choose a reason for hiding this comment

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

Are any paper/online page with more detailed description of this task and grammar? A link would be great.

Comment on lines +50 to +53
fun getPathFromSppf(node: RangeSppfNode<Int>, maxDepth: Int): List<List<OutEdge>>? {
if (maxDepth == 0) {
return null
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Would be grear unit tests for this speccific part and pointsTo task in general

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.

3 participants