Skip to content

Latest commit

 

History

History

lstm-rf

Our implementation of LSTM and LSTM-RF

Paper: Automatic Feature Learning for Predicting Vulnerable Software Components

Paper Authors: Hoa Khanh Dam, Truyen Tran, Trang Pham, Shien Wee Ng, John Grundy, Aditya Ghose


Execute with:

  • python3 main.py [linux_kernel/openssl/wireshark] [v3_15/OpenSSL_0_9_6/v2_0_0] [clean/noisy]

for all releases of all projects with both settings ( 1. clean data training setting, 2. realistic training setting ), sequentially -

  • python3 main.py

for all releases of linux_kernel project with both settings ( 1. clean data training setting, 2. realistic training setting ), sequentially -

  • python3 main.py linux_kernel

for release v3.15 of linux_kernel project with both settings ( 1. clean data training setting, 2. realistic training setting ), sequentially -

  • python3 main.py linux_kernel v3_15

for release v3.15 of linux_kernel project with only realistic training setting -

  • python3 main.py linux_kernel v3_15 noisy

Fixed Parameters used:

Embedding layer -

  • "output_dim" : 32

  • "input_length" : 100

LSTM layer -

  • "units" : 100

  • "return_sequences" : True

  • "dropout" : 0.5

TimeDistributed - Dense layer -

  • "activation" : "sigmoid"

Optimizer -

  • "name" : "RMSprop"

  • "learning_rate" : 0.02

  • "rho" : 0.99

  • "epsilon" : 1e-07

"epochs" : 100

"test_size" : 0.5

"shuffle" : False