-
Notifications
You must be signed in to change notification settings - Fork 136
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
the results of slicing seems wrong #435
Comments
What does
|
What does llvm-slicer say about the "matched slicing criteria"? Here are the output of the cmd "llvm-slicer -sc '68#src_channels' -cutoff-diverging=false -entry convert linear.bc".
would not be a problem, just an imprecision. llvm-slicer does backward slice, |
Depends on the program and the features it uses. Imprecision is common in any static analysis tool.
DG can do forward slicing if you use I do not know about any other tool that does forward slicing. |
okay. Thanks.
|
Not exactly.
It is not that weird -- DG cannot know if void wrapper() {
void *plugin = ...
void *src_channels = malloc(...);
void *dst_channels = malloc(...);
frame_t frame = ...
convert(plugin, src_channels, dst_channels, frame);
}
// call llvm-slicer with '-entry wrapper' Unfortunately, at this moment, there is no automatic way of telling DG that arguments do not alias. |
Here is the function I want to slice. And the slicing cmd is
llvm-slicer -sc '68#src_channels' -cutoff-diverging=false -entry convert linear.bc
the slicing result by line number is
I am very confused about the result. It seems that line 60,64,65 has no dependece relationship with the src_channels in line 68. Also, as it is a variable in if condition, so line68-83 should also depend on it, which should be in its slicing. Can you give me some gudiance? is there something wrong with my cmd?
The text was updated successfully, but these errors were encountered: