Skip to content

Is CodeQL capable of inferring possible parameter values of a function via symbolic modeling? #19647

Answered by adityasharad
wooyune1 asked this question in Q&A
Discussion options

You must be logged in to vote

Thanks for your interest using CodeQL.

Can CodeQL infer a function's possible parameter values via modeling some key functions (e.g., string concatenation)?

In general, this is not possible for a static analysis tool like CodeQL to compute precisely, since doing so would be equivalent to running the program (and so would hit theoretical limits). However, there are some ways to approximate this idea, where you can find some possible constant values if we know them from the program at compile time.

  • The Expr type has predicates hasValue() (which holds if the given expression has a compile-time constant value), and getValue() (which gets you that value if it exists). See https://codeql.git…

Replies: 1 comment 4 replies

Comment options

You must be logged in to vote
4 replies
@michaelnebel
Comment options

@hvitved
Comment options

@wooyune1
Comment options

@hvitved
Comment options

Answer selected by wooyune1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
4 participants