Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A problem when build call graph in methd #713

Open
ms-sky opened this issue Apr 7, 2024 · 1 comment
Open

A problem when build call graph in methd #713

ms-sky opened this issue Apr 7, 2024 · 1 comment

Comments

@ms-sky
Copy link

ms-sky commented Apr 7, 2024

Hi,
I have a qusetion about how phasar build call graph. I find call graph miss some virtual call edges when I set the param "ExactMatch" to true in method matchesSignature. I konw this will make match exactly and it will match every param type. If I don‘t set it to true, I find it can't process function pointer well causing large false positive. The function influence call graph construction. I review your code, I find if ExactMatch is set to false matchesSignature invoke isTypeMatchForFunctionArgument but in the isTypeMatchForFunctionArgument I see if an actual type is StructType it will return true, I think it is not right but your comment is "Well, we could do sanity checks here, but if the analysed code is insane .we would miss callees, so we don't do that." I would like to know why you did that and waht does the comment mean exactly?

@fabianbs96
Copy link
Member

Hi @ms-sky, there are several problems in LLVM with exact type matches. Regarding your concrete question I will check for the reasons internally.

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

No branches or pull requests

2 participants