计算机科学
脆弱性(计算)
编码(集合论)
抽象语法树
语法
人工智能
人工神经网络
树遍历
过程(计算)
树(集合论)
程序设计语言
机器学习
计算机安全
数学
数学分析
集合(抽象数据类型)
作者
Xiaojun Ren,Yongtang Wu,Jiaqing Li,Dongmin Hao,Muhammad Alam
标识
DOI:10.1016/j.compeleceng.2023.108766
摘要
Smart contracts are riddled with vulnerabilities due to flaws in programming languages and the inexperience of developers, causing damage. Nonetheless, the current research on smart contract vulnerability detection is insufficient. In this study, we propose a novel approach, namely, Blass, based on a semantic code structure and a self-designed neural network. Blass constructs program slices with complete semantic structure information (CPSs) and uses an abstract syntax tree and a depth-first traversal algorithm to convert CPSs into code chains during the process of CPS vectorization, which increases its ability to express vulnerability features. Blass also uses a self-designed neural network, Bi-LSTM-Att, as the classification model, which introduces an attention mechanism to capture the key features of vulnerabilities and effectively achieve improved smart contract vulnerability detection performance. The CPSs and the Bi-LSTM-Att can improve the vulnerability detection effectiveness of Blass, and Blass can be applied to malicious contract detection with satisfactory precision, recall, and F1 values.
科研通智能强力驱动
Strongly Powered by AbleSci AI