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

Discussions on the data structures and algorithms #6

Open
thuanpv opened this issue Oct 28, 2020 · 1 comment
Open

Discussions on the data structures and algorithms #6

thuanpv opened this issue Oct 28, 2020 · 1 comment

Comments

@thuanpv
Copy link
Collaborator

thuanpv commented Oct 28, 2020

Hi @alan32liu ,

Following is the pseudo code of the current algorithm and how we could make changes to integrate MCTS

MCTS-Initialisation

function main

while (not timeout) //main loop
Begin
//MCTS-Selection ~ choose_target_state + choose_seed
s = choose_target_state() ⇒ select_tree_node
t = choose_seed(s) //t is a sequence of messages ⇒ select_seed
fuzz_one(t) //generates N more sequences
end

function fuzz_one

N = calculate_score(t) //energy for the test t
count = 0
while (count++ < N) //generate N new tests/new sequences from t
begin
t’ = mutate(t) //the logic is in fuzz_one
common_fuzz_stuff(t’) //run the server, send t’ to the server and
//observe the server’s behaviours
end

function common_fuzz_stuff(t’) ~ MCTS-Simulation() -- the logic is already implemented in AFLNet

(is_interesting, response_codes) = run_target(t’) //send messages
if (is_interesting) update_state_aware_variables(t) => MCTS-Expansion

@thuanpv
Copy link
Collaborator Author

thuanpv commented Oct 28, 2020

Regarding the tree, I have run the LightFTP subject and get the following 3 sequences of responses codes
0-220-331-230-215-257-200-150-451-221 (ftp_requests_full_anonymous)
0-220-331-230-215-257-200-150-451-257-221 (ftp_requests_full_normal)
0-220-500-500-215-530-215-530-530-221 (another_test)

Can you please manually draw a tree, based on your current data structure, using the above traces? Thanks.

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