2.1.1 Gemini
2.1.1.5 总结和不足
为了能够实现Gemini的复现,我们通读了一遍又一遍Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection这篇论文,并且查阅了大量文献,观看了若干视频教程,但是在实现代码的时候总是会出现各种各样的问题:首先,是因为Gemini实现采用的是python2.7,但是如今python2.7的pip等诸多功能以及库均已经不维护了,所以在实现代码时导入各种各样所必需的库成为了一个又一个难题;其次,在我们实现代码复现的时候发现我们的CPU环境很难完成一些原本是依赖GPU操作的环境……
在若干次失利后,我们通过老师的帮助,依托实验室环境进行了复现操作,在种种不利条件下,我们成功实现了Gemini的代码复现。
我们的实验也有着一些不足,我们仅使用了100个固件的数据来进行我们模型的训练和评估,数据量并不算大,这对我们所得到的结果或多或少有一点影响。
但是我们的实验目的是通过这100个固件数据的提取、训练和评估以熟悉和掌握Gemini的流程和实验方法,因此100个数据已足以满足上述目的,而之后,我们会获得一批新的数据进行下一步的研究,初步将会获得1000个数据,以进行我们后续的实验和研究。