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

Some details about Neuzz #26

Open
qiwk opened this issue Jul 13, 2021 · 0 comments
Open

Some details about Neuzz #26

qiwk opened this issue Jul 13, 2021 · 0 comments

Comments

@qiwk
Copy link

qiwk commented Jul 13, 2021

Hi, Dongdong!

I am reading your paper NEUZZ recently and it is really well written. I have some questions about the details in this paper.

  1. "Furthermore, we only consider the edges that have been activated at least once in the training data."

    "Intuitively, in our setting, the goal of gradient-based guidance is to find inputs that will change the output of the final
    layer neurons corresponding to different edges from 0 to 1"

The goal of NEUZZ is to find new edges in the target program as many as possible, but when you build the NN model, you just
consider the edges that have been activated at least once in the training data, then select some output neurons to compute gradient to guide future mutation, and the final goal is to "change the output of the final layer neurons corresponding to different edges from 0 to 1".Now that the output of the final layer neurons represent the edges that have been found by the training data, what's the meaning of trying to change specific output neuron from 0 to 1.(I mean the edge represented by this neuron has been found by some input in the training data, why does NEUZZ try to find the edge again) . Why don't we also consider the edges that have not been activated in the training data, and try to change the output of the final layer neurons corresponding to these edges from 0 to 1, doesn't this means we successfully find some inputs which triger new edges that have not been activated by the training data?

  1. " Next, we randomly choose 100 output neurons representing 100 unexplored edges in the target program "

What does the "unexplored edges " mean here, in the source code these edges are randomly choosen at every iteration. How does it enssure that these edges are those "unexplored edges ".

Thanks a lot!

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

1 participant