Sensors 23 07246
Sensors 23 07246
Article
Smart Contract Vulnerability Detection Based on Deep
Learning and Multimodal Decision Fusion
Weichu Deng 1 , Huanchun Wei 2, *, Teng Huang 1 , Cong Cao 1 , Yun Peng 1 and Xuan Hu 3,4
1 Institute of Artificial Intelligence and Blockchain, Guangzhou University, Guangzhou 510006, China;
[email protected] (W.D.); [email protected] (T.H.); [email protected] (C.C.)
2 School of Beidou, Guangxi University of Information Engineering, Nanning 530299, China
3 Information Security Research Center, CEPREI Laboratory, Guangzhou 510610, China
4 Key Laboratory of Ministry of Industry and Information Technology, Guangzhou 510610, China
* Correspondence: [email protected]
Abstract: With the rapid development and widespread application of blockchain technology in recent
years, smart contracts running on blockchains often face security vulnerability problems, resulting
in significant economic losses. Unlike traditional programs, smart contracts cannot be modified
once deployed, and vulnerabilities cannot be remedied. Therefore, the vulnerability detection of
smart contracts has become a research focus. Most existing vulnerability detection methods are
based on rules defined by experts, which are inefficient and have poor scalability. Although there
have been studies using machine learning methods to extract contract features for vulnerability
detection, the features considered are singular, and it is impossible to fully utilize smart contract
information. In order to overcome the limitations of existing methods, this paper proposes a smart
contract vulnerability detection method based on deep learning and multimodal decision fusion. This
method also considers the code semantics and control structure information of smart contracts. It
integrates the source code, operation code, and control-flow modes through the multimodal decision
fusion method. The deep learning method extracts five features used to represent contracts and
achieves high accuracy and recall rates. The experimental results show that the detection accuracy
of our method for arithmetic vulnerability, re-entrant vulnerability, transaction order dependence,
and Ethernet locking vulnerability can reach 91.6%, 90.9%, 94.8%, and 89.5%, respectively, and the
Citation: Deng, W.; Wei, H.; Huang, detected AUC values can reach 0.834, 0.852, 0.886, and 0.825, respectively. This shows that our
T.; Cao, C.; Peng, Y.; Hu, X. Smart method has a good vulnerability detection effect. Furthermore, ablation experiments show that the
Contract Vulnerability Detection multimodal decision fusion method contributes significantly to the fusion of different modalities.
Based on Deep Learning and
Multimodal Decision Fusion. Sensors Keywords: multimodal fusion; smart contract; vulnerability detection; deep learning
2023, 23, 7246. https://doi.org/
10.3390/s23167246
contracts are usually bound to assets. Once security problems occur, they can cause sub-
stantial economic losses [5]. Smart contract security problems have followed the increase in
smart contracts. According to statistics, 89% of smart contracts have security vulnerabilities.
The security of smart contracts [6] has also attracted the attention of hackers, who have
been stealing illegal assets by exploiting smart contract vulnerabilities. In 2016, attackers used
a re-entrant vulnerability in TheDAO’s crowdfunding contract to attack it, resulting in about
USD 60 million in losses [7]. In 2017, a vulnerability in the Parity wallet [8] contract led to USD
31 million in user losses. In 2018, hackers took advantage of the integer overflow vulnerability
in the Ethereum ERC-20 smart contract to transfer a large number of BEC tokens issued by the
United States Chain company out of thin air, resulting in its market value dropping to almost
zero [9]. According to statistics from SlowMist’s website [10], attacks against Ethereum smart
contracts have caused cumulative losses of more than USD 3.1 billion as of 2023.
With the frequent occurrence of blockchain security incidents and the increasing
number of assets involved in smart contracts, the vulnerability problem of smart contracts
has also attracted the attention of more scholars [11]. Due to the characteristics of smart
contracts being tamper-evident and automatically executed, stolen assets are difficult to
recover once security problems occur in smart contracts. Therefore, there is an urgent
need to detect potential security vulnerabilities before deployment to ensure the security of
smart contracts and the safety of the asset interests of each participant.
Current smart contract vulnerability detection methods [12] are mainly based on
traditional vulnerability detection methods of conventional programs (such as C++ and
Java), usually using static analysis [13] and dynamic execution techniques [14] to detect
vulnerabilities. This method often relies on expert experience and has problems such
as low automation, low efficiency, and insufficient flexibility. In recent years, with the
rapid development of deep learning, the use of deep learning technology for vulnerability
detection of smart contracts has become a research hotspot [15]. Detection technologies
based on deep learning can make up for the problems of low automation, low efficiency,
and dependence on expert knowledge in traditional detection methods. However, most
of the current methods based on deep learning [16] consider a single data feature and are
unable to fully mine the vulnerability information of smart contracts. Additionally, there
is poor scalability and a lack of consideration for multimodal characteristics.
1.2. Layout
This paper is organized as follows. Section 2 reviews the existing research, including
traditional vulnerability detection techniques for smart contracts, deep learning-based
vulnerability detection techniques, and multimodal fusion techniques. Section 3 describes
the flow of the proposed detection method for multimodal decision fusion vulnerability.
Section 4 presents the experiments and conclusions. Section 5 discusses the experimental re-
sults and the advantages and disadvantages of the proposed method. Section 6 summarizes
the work in this paper and presents the conclusion.
2. Review
This section compares and analyzes existing smart contract vulnerability detection
and multimodal fusion techniques, identifies the advances and shortcomings of the current
research, and further elaborates on the advantages of our approach.
is suitable for cases where there is a high correlation between modalities. Yang et al. [33] used
feature-level fusion for audio and video features for speech recognition, but it suffers from the
deficiency of challenging feature extraction. Besides deep learning-based feature extraction,
the fuzzy inference method and generative rule method are standard methods for feature-
level fusion. The generated high-dimensional feature vector limits feature-based fusion,
and the method cannot model complex relationships because of the difficulty in obtaining the
cross-correlation between different features by directly fusing multiple modal features.
modal 1 modal 2 ... modal n modal 1 modal 2 ... modal n modal 1 modal 2 ... modal n
(a) (b) (c)
Figure 1. Comparison of the three fusion methods. (a) Feature-based fusion. (b) Decision-based
fusion. (c) Hybrid Fusion.
2.3.4. Discussion
Figure 1 shows the flows of the three fusion methods. Each of the three fusion methods
has advantages and disadvantages. Feature-based fusion captures the relationship between
features better but is prone to overfitting. Decision-based fusion is less prone to overfitting,
and different modalities have less influence on each other, but it does not allow the classifier
Sensors 2023, 23, 7246 6 of 21
to train all the data simultaneously. The hybrid fusion method is flexible to use, and while
it synthesizes the advantages of both, it also increases the model’s structural complexity
and training difficulty.
In real-world smart contract vulnerability detection, the data distribution of vulner-
ability samples is often unbalanced [40]. On unbalanced datasets, the method based on
feature fusion is more likely to overfit. In addition, when it is unclear whether a modality is
suitable for smart contract vulnerability detection, the feature-based fusion method needs
to consider the impact that adding features of a modality may have on the overall detection
performance. In contrast, the decision-based fusion method can use all possible experiment
modalities. The correlation between the three modalities of smart contracts used in this
paper is small, and all modalities can be independently applied to the vulnerability detec-
tion of smart contracts. Therefore, the feature-based fusion method is not considered to
avoid interference between different modalities. Last but not least, decision-based fusion
methods are more interpretable.
We compared the scope and examples of applications of these three modal fusion
approaches. The results of this comparison are shown in Table 1.
3. Our Method
This section describes the proposed approach, including the general structure and
specific process.
3.1. Overview
3.1.1. Structure
The overall structure of the proposed approach is shown in Figure 2, and the whole
process is divided into subclassifier learning and multimodal decision fusion. The subclas-
sifiers make decisions based on the characteristics of the different modalities of the smart
contract and determine whether there is a vulnerability. On the other hand, multimodal
decision fusion takes each subclassifier’s decision output as input and learns decision
fusion strategies based on the decision output and the true labels.
1.PUSH1
2.PUSH1
N-gram Y1
3.MSTORE
4.DUP1 Word2Vec
OP
Y1 Y2 Y3
Word2Vec Y2
Classifier Y/N
Fasttext
SC
Stacking
Y3
GCN
CFG
Figure 2. Multimodal fusion vulnerability detection scheme graph. Source code is the initial form
in which a smart contract is written out and stored as a sequence of text. The operation code is the
product of the compiler’s compilation and records each EVM operation step when executing the
contract. The control-flow graph shows how each code block is invoked when the contract is running.
Sensors 2023, 23, 7246 7 of 21
3.1.2. Procedure
As shown in Figure 3, the procedure of our method is divided into four stages accord-
ing to the order of execution.
start
Modal generation
Feature extraction
Subclassifier
train & predict
Decision fusion
end
Figure 3. The procedure of our method. Our method is divided into four main stages: modal
generation, feature extraction, subclassifier training and prediction, and decision fusion.
1. Modal generation. This stage generates different modal representations of the smart
contract data based on the source code. This stage inputs the source code and outputs
both the OP and CFG modalities.
2. Feature extraction. This stage extracts different features from the modalities for deep
learning model training. This stage inputs the modal data and outputs multiple features.
3. Subclassifier training and prediction. The features extracted from each modality are used
to train a deep neural network classifier to make a decision for a particular modality.
This stage inputs the features of the modality and outputs the predicted values.
4. Decision fusion. This stage uses the stacking method to fuse the outputs of the indi-
vidual subclassifiers. A final classifier is trained using the outputs of the subclassifiers
as features. This classifier outputs the final prediction.
3.1.3. Discussion
This subsection discusses the feasibility of our proposed methodology. The source
code contains the most primitive information about the smart contract [49] and is the
primary basis for identifying vulnerabilities [50]. Compared with the source code, the op-
eration code records more detailed operations of the EVM [51] when executing smart
contracts, and contract violations can be detected through the operation code. The op-
eration code records semantic information about the contract, whereas the control-flow
graph records structural information about the contract. Some vulnerabilities tend to have
anomalous structures. Table 2 shows the application of the three modalities for smart
contract vulnerability detection.
In summary, the three modalities are feasible for smart contract vulnerability detection.
Given that the meaning of the operation code is independent of the address, the oper-
ation code needs to be normalized to prevent the extracted features from having too large a
dimension. The processing method used in this paper is as follows:
• The instructions PUSH1-PUSHx, POP1-POPx, etc., are unified as PUSH and POP;
• Remove the operands 0x80, 0x40, 0x0, etc.;
Sensors 2023, 23, 7246 9 of 21
DepositAddressRegistrar
constructor fallback
registerDepositAddress
Registry [Solidity]
hasAttribute setAttributeValue require(bool,string)
Figure 6. Example of a control-flow graph. The source code for this contract can be found in
Appendix A. Combining the control-flow graph with the source code clearly shows the relationship
between the code calls.
that word. According to the semantic decision, Word2Vec is divided into the CBOW and
Skip-gram models. Among them, the CBOW model predicts the central word based on the
words around it, whereas the Skip-gram model predicts the surrounding words based on
the central word.
Fasttext is a Facebook open source word vector and text classification tool that provides
a simple and efficient method for learning text classification and representation with high
performance and speed. The Fasttext model is a word vector-based text classification
model. It uses character-level n-gram-based features to represent words in the text, thus
avoiding the traditional bag-of-words model, which must consider all possible word
sequences. In Fasttext’s training process, each word is represented as a fixed-length vector.
These vectors are combined into a vector representation of the text, and finally, a softmax
activation function is used for classification.
The process of embedding source code using the Word2Vec and Fasttext models is as
follows. The first step is to clean the text. It may contain various characters unrelated to
the code’s semantics (e.g., comments), so the source code text needs to be cleaned before
training with the model, including removing deactivated words, comments, and useless
punctuation. The next step is model training. After obtaining the text of the source code
after text cleaning, the text is processed into a suitable form for the input of the Word2Vec
and Fasttext models, and then the model is trained using the text. The final step is text-
vector generation. The trained model performs text embedding for all contracts to obtain
text vectors containing semantic information and supporting mathematical operations.
1. Send: Each node sends its feature information to its neighbor nodes after transforma-
tion. This step involves extracting and transforming the feature information of the
nodes.
2. Receive: Each node aggregates the feature information of neighboring nodes. This
step involves fusing the local structure information of the nodes.
3. Transform: Perform nonlinear transformation after aggregating the previous informa-
tion to increase the expressiveness of the model.
In this paper, the features of the control-flow graph are extracted using a graph
convolutional neural network, and the final experiment generates 64-dimensional features
that are used in later classifier decisions.
P (Y = 1 | x )
log = w·x (1)
1 − P (Y = 1 | x )
In Equation (1), x ∈ Rn+1 is the input, Y ∈ {0, 1} is the output, and w ∈ Rn+1 is the
parameter known as the weight.
The basic idea of using stacking decision fusion in this thesis is to combine the decisions
from each modality to form the optimal decision. Assuming that the effect of a particular
modality is insignificant and the decision holds no value, it is also possible to set voting
weights, etc., so that the final decision of that modality has the lowest impact on the final
decision. The worst effect of decision-level fusion will not be lower than the effect of the
best single modality.
4. Experiments
In this section, we empirically evaluate our proposed approach using a publicly avail-
able dataset. In order to evaluate the performance of the proposed method, the following
research questions were designed:
Sensors 2023, 23, 7246 12 of 21
• RQ1: Can the proposed method effectively detect common vulnerabilities in smart
contracts, and is its vulnerability detection better than that of existing methods?
• RQ2: Does adding new features within the same modality help improve model
performance?
• RQ3: Do different strategies of cross-modal fusion affect model performance?
The following experiments address each of these research questions.
We randomly selected 70% of the dataset as the training set and the remaining 30% as
the test set. and report the average results from multiple training runs.
TP
R= (3)
TP + FN
TP
P= (4)
TP + FP
P×R
F1 = 2 × (5)
P+R
The comparison experiments were performed on the same dataset using tools in-
cluding Mythril, Smartcheck, Slither, TMP, and the method proposed in this paper. The
experimental results are shown in Table 5. As can be seen from the experimental results,
the method proposed in this paper can support more types of vulnerabilities because it
does not rely on expert knowledge. Compared to existing mature, smart contract vul-
nerability detection tools, the method proposed in this paper achieved higher detection
accuracy and AUC values on various types of vulnerabilities, as well as better overall
detection performance.
The traditional approach relies on expert experience and requires constant updating
of the characteristics of smart contract vulnerabilities. Often, even experienced experts
make mistakes and omit some vital information that can be used for vulnerability detection,
which is the root cause of the poor effectiveness of this type of smart contract vulnerability
detection method. TMP is a vulnerability detection method based on the concept of contract
graphs that was proposed in [32]. The graph-based detection method is often suitable
for security vulnerabilities caused by contract inter-call. In Table 5, it can be seen that
TMP achieved the best detection accuracy for the RENT vulnerability. At the same time,
vulnerabilities such as ARTHM may appear in a line of code and cannot be represented
graphically. Traditional and deep learning-based approaches use limited information about
the characteristics of contracts.
Our method uses as much contractual characterization information as possible and
combines this information organically. Therefore, our method’s vulnerability detection is
better than existing methods.
4.3.1. Comparison between Features within a Single Modality and Feature Fusion
(Addressing RQ2)
After extracting the features from the modalities using the feature extractor, the neural
network classifier was trained directly, and the effects were compared. The ARTHM
vulnerability was used as an example to compare the effectiveness of different types of
Sensors 2023, 23, 7246 15 of 21
features within the different modalities for vulnerability detection, and the experimental
results are shown in Table 6.
In Table 6, it can be seen that the addition of new features of a modality can effectively
improve the performance of the training model in cases where the detection performance
of the original single intra-modal feature is poor.
4.3.2. Comparison of Inter-Modal Features and Multimodal Decision Fusion (Addressing RQ3)
Based on the information in Section 4.3.1, the neural network classifier was trained
using the features obtained through intra-modal feature fusion, and the experimental
results of the different modalities were compared. Table 7 shows the experimental results
of the different modalities for four vulnerability types, where Concat indicates that the
features of these modalities were stitched together to form a new feature and used as the
input of the neural network classifier. In Table 7, it can be seen that the features of the
OP outperformed those of the CFG and SC on the vulnerability detection task. The direct
fusion of cross-modal features resulted in a slight performance improvement compared to
the optimal modality.
We obtained the decision outputs from each modality, and the results of decision
fusion using logistic regression are shown in Table 8. The modalities corresponding to the
weights are OP, SC, CFG, and Concat. The magnitude of the weights of logistic regression
can be regarded as the importance of the influence of the different modalities on the results,
and the positive and negative signs can be interpreted as the decision propensities of
the modalities.
Sensors 2023, 23, 7246 16 of 21
ARTHM LE
1.0 1.0
0.8 0.8
0.6 0.6
Scores
Scores
0.4 0.4
CFG
CFG 0.2 OP
0.2 OP SC
SC Concat
Concat Stacking
Stacking
AUC ACC P R F1 AUC ACC P R F1
Scores
Figure 7. Performance evaluation of different modalities for different types of vulnerability detection.
In the figure, the OX-axis represents the different evaluation indicators; the OY-axis represents the
score of a particular evaluation indicator, which takes a range of 0∼1. In addition to the AUC,
the other indicators can also be interpreted as percentages. (a–d) Experimental results for different
vulnerabilities. (e) Averaged results.
Sensors 2023, 23, 7246 17 of 21
The detection method using logistic regression models for multimodal models per-
formed better for the detection task of four common smart contract vulnerabilities. The ACC
and AUC values of the decision fusion model improved significantly compared to the
method that directly fused the features of each modality.
5. Results
The experimental results show that the smart contract vulnerability detection method
proposed in this paper outperforms existing methods, achieving high accuracy and a high
recall of vulnerability detection. Ablation experiments show that adding new features
within the same modality can improve the performance of the vulnerability detection model.
In the smart contract vulnerability detection task, the decision fusion of multiple modalities
contributes more to improving detection accuracy. In addition, using the resampling
method to address the dataset’s unbalanced vulnerability types can somewhat mitigate the
imbalanced category problem. However, the detection accuracy rate cannot be improved.
In the vulnerability detection task, losses from missed detections are often more significant
than those from false positives, so achieving a high recall rate is more important than a
high accuracy rate.
6. Conclusions
In this paper, from a multimodal perspective, three modalities—source code, operation
code, and control-flow graph—with five features were extracted for vulnerability detection
from the combined smart contract life cycle. The multimodal decision fusion approach
can fully utilize the semantic and structural features of smart contracts. The results of the
comparison experiments also verify the proposed approach’s effectiveness and superiority.
Compared with existing smart contract vulnerability detection tools, the proposed
approach has many advantages. Firstly, the method does not rely on expert experience
and is completely data-driven. Secondly, the method is highly flexible. Finally, the method
covers more types of vulnerabilities and achieves a higher inspection accuracy rate. The
method proposed in this paper can be used for the initial screening of smart contract
vulnerabilities to increase the efficiency of smart contract developers and auditors in
identifying smart contract vulnerabilities. Based on this paper, adding new modalities can
further improve the performance of vulnerability detection.
Some data imbalances in the experiment led to low detection accuracies. Future work
can consider using small samples and unsupervised learning to address this problem.
Furthermore, the lack of a standard unified smart contract vulnerability dataset remains an
urgent problem that needs to be addressed.
Author Contributions: Conceptualization, W.D. and T.H.; investigation, W.D. and C.C.; supervision,
T.H., Y.P. and H.W.; writing—original draft, W.D.; writing—review and editing, W.D., C.C., X.H. and
T.H. All authors have read and agreed to the published version of the manuscript.
Funding: This work was supported by the National Natural Science Foundation of China (62002074),
NSF of Guangdong Province (2023A1515030273), and the Key Laboratory, Ministry of Industry and
Information Technology, China.
Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.
Data Availability Statement: Not applicable.
Conflicts of Interest: The authors declare no conflict of interest.
Sensors 2023, 23, 7246 18 of 21
1 pragma s o l i d i t y ^ 0 . 4 . 2 3 ;
2
3 interface Registry {
4 function setAttributeValue
5 ( address who , b y t e s 3 2 what , u i n t v a l ) e x t e r n a l ;
6 f u n c t i o n h a s A t t r i b u t e ( address _who , b y t e s 3 2 _ a t t r i b u t e )
7 e x t e r n a l view r e t u r n s ( bool ) ; }
8
9 contract DepositAddressRegistrar {
10 R e g i s t r y public r e g i s t r y ;
11 b y t e s 3 2 public c o n s t a n t IS_DEPOSIT_ADDRESS
12 = " isDepositAddress " ;
13 event D e p o s i t A d d r e s s R e g i s t e r e d
14 ( address r e g i s t e r e d A d d r e s s ) ;
15 c o n s t r u c t o r ( address _ r e g i s t r y ) public {
16 registry = Registry ( _registry ) ; }
17
18 f u n c t i o n r e g i s t e r D e p o s i t A d d r e s s ( ) public {
19 address s h i f t e d A d d r e s s = address ( u i n t ( msg . sender ) >> 2 0 ) ;
20 require ( ! registry . hasAttribute
21 ( s h i f t e d A d d r e s s , IS_DEPOSIT_ADDRESS ) ,
22 " d e p o s i t address a l r e a d y r e g i s t e r e d " ) ;
23 registry . setAttributeValue
24 ( s h i f t e d A d d r e s s , IS_DEPOSIT_ADDRESS , u i n t ( msg . sender ) ) ;
25 emit D e p o s i t A d d r e s s R e g i s t e r e d ( msg . sender ) ; }
26
27 f u n c t i o n ( ) e x t e r n a l payable {
28 registerDepositAddress ( ) ;
29 msg . sender . t r a n s f e r ( msg . value ) ; } }
References
1. Deng, W.; Huang, T.; Wang, H. A Review of the Key Technology in a Blockchain Building Decentralized Trust Platform.
Mathematics 2023, 11, 101. [CrossRef]
2. Buterin, V. A Next-Generation Smart Contract and Decentralized Application Platform. White Paper 2014, 3, 1–36. Avail-
able online: https://blockchainlab.com/pdf/Ethereum_white_paper-a_next_generation_smart_contract_and_decentralized_
application_platform-vitalik-buterin.pdf (accessed on 1 July 2023).
3. Dannen, C. Introducing Ethereum and Solidity; Springer: Berlin/Heidelberg, Germany, 2017; Volume 1.
4. Zheng, Z.; Xie, S.; Dai, H.N.; Chen, W.; Chen, X.; Weng, J.; Imran, M. An overview on smart contracts: Challenges, advances and
platforms. Future Gener. Comput. Syst. 2020, 105, 75–491. [CrossRef]
5. Zhao, P.; Li, C.; Fu, Y.; Hui, Y.; Zhang, Y.; Cheng, N. Blockchain-Enabled Conditional Decentralized Vehicular Crowdsensing
System. IEEE Trans. Intell. Transp. Syst. 2022, 23, 18937–18950. [CrossRef]
6. Lin, S.; Zhang, L.; Li, J.; Ji, L.; Sun, Y. A survey of application research based on blockchain smart contract. Wirel. Netw. 2022, 28,
635–690. [CrossRef]
7. Atzei, N.; Bartoletti, M.; Cimoli, T. A survey of attacks on Ethereum Smart Contracts. Cryptology ePrint Archive, Paper 2016/1007.
2016. Available online: https://eprint.iacr.org/2016/1007 (accessed on 1 August 2023).
8. The Parity Wallet Hack Explained. 2023. Available online: https://blog.openzeppelin.com/on-the-parity-wallet-multisig-hack-
405a8c12e8f7 (accessed on 1 August 2023).
9. Peng, K.; Li, M.; Huang, H.; Wang, C.; Wan, S.; Choo, K.K.R. Security Challenges and Opportunities for Smart Contracts in
Internet of Things: A Survey. IEEE Internet Things J. 2021, 8, 12004–12020. [CrossRef]
10. Slowmist. 2023. Available online: https://hacked.slowmist.io/ (accessed on 14 May 2023).
11. Tsankov, P.; Dan, A.; Drachsler-Cohen, D.; Gervais, A.; Buenzli, F.; Vechev, M. Securify: Practical security analysis of smart
contracts. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, Toronto, ON,
Canada, 15–19 October 2018; pp. 67–82.
12. Kushwaha, S.S.; Joshi, S.; Singh, D.; Kaur, M.; Lee, H.N. Systematic review of security vulnerabilities in ethereum blockchain
smart contract. IEEE Access 2022, 10, 6605–6621. [CrossRef]
Sensors 2023, 23, 7246 19 of 21
13. Ghaleb, A.; Pattabiraman, K. How effective are smart contract analysis tools? evaluating smart contract static analysis tools
using bug injection. In Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, Los
Angeles, CA, USA, 18–22 July 2020; pp. 415–427.
14. Wang, H.; Liu, Y.; Li, Y.; Lin, S.W.; Artho, C.; Ma, L.; Liu, Y. Oracle-supported dynamic exploit generation for smart contracts.
IEEE Trans. Dependable Secur. Comput. 2020, 19, 1795–1809. [CrossRef]
15. Qian, P.; Liu, Z.; He, Q.; Zimmermann, R.; Wang, X. Towards Automated Reentrancy Detection for Smart Contracts Based on
Sequential Models. IEEE Access 2020, 8, 19685–19695. [CrossRef]
16. He, D.; Wu, R.; Li, X.; Chan, S.; Guizani, M. Detection of Vulnerabilities of Blockchain Smart Contracts. IEEE Internet Things J.
2023, 10, 12178–12185. [CrossRef]
17. Hwang, S.J.; Choi, S.H.; Shin, J.; Choi, Y.H. CodeNet: Code-Targeted Convolutional Neural Network Architecture for Smart
Contract Vulnerability Detection. IEEE Access 2022, 10, 32595–32607. [CrossRef]
18. Huang, J.; Zhou, K.; Xiong, A.; Li, D. Smart Contract Vulnerability Detection Model Based on Multi-Task Learning. Sensors 2022,
22, 1829. [CrossRef] [PubMed]
19. Yadav, K.; Naval, S. CFG Analysis for Detecting Vulnerabilities in Smart Contracts. In Proceedings of the International Conference
on Smart Computing and Communication, Jaipur, India, 24–25 January 2023; Springer: Berlin/Heidelberg, Germany, 2023;
pp. 753–763.
20. Smart Contract Weakness Classification Registry. 2023. Available online: https://swcregistry.io/ (accessed on 30 May 2023).
21. CVE. 2023. Available online: https://nvd.nist.gov/vuln/detail/CVE-2018-10769 (accessed on 31 May 2023).
22. Ethereum Smart Contract Best Practices. 2023. Available online: https://consensys.github.io/smart-contract-best-practices/
attacks/reentrancy/ (accessed on 31 May 2023).
23. Medium. 2023. Available online: https://medium.com/coinmonks/solidity-transaction-ordering-attacks-1193a014884e (ac-
cessed on 31 May 2023).
24. Perez, D.; Livshits, B. Smart Contract Vulnerabilities: Vulnerable Does Not Imply Exploited. In Proceedings of the 30th USENIX
Security Symposium, USENIX Security 2021, Virtual, 11–13 August 2021; Bailey, M., Greenstadt, R., Eds.; USENIX Association:
Berkeley, CA, USA, 2021; pp. 1325–1341.
25. N’Da, A.A.K.; Matalonga, S.; Dahal, K. Characterizing the Cost of Introducing Secure Programming Patterns and Practices in
Ethereum. In Proceedings of the Trends and Innovations in Information Systems and Technologies, Budva, Montenegro, 7–10
April 2020; Rocha, Á., Adeli, H., Reis, L.P., Costanzo, S., Orovic, I., Moreira, F., Eds.; Springer: Cham, Switzerland, 2020; pp. 25–34.
26. Nikolic, I.; Kolluri, A.; Sergey, I.; Saxena, P.; Hobor, A. Finding The Greedy, Prodigal, and Suicidal Contracts at Scale. In
Proceedings of the 34th Annual Computer Security Applications Conference, ACSAC 2018, San Juan, PR, USA, 3–7 December
2018; ACM: New York, NY, USA, 2018; pp. 653–663. [CrossRef]
27. Kalra, S.; Goel, S.; Dhawan, M.; Sharma, S. ZEUS: Analyzing Safety of Smart Contracts. In Proceedings of the 25th Annual
Network and Distributed System Security Symposium, NDSS 2018, San Diego, CA, USA, 18–21 February 2018; The Internet
Society: Reston, VA, USA, 2018.
28. Jiang, B.; Liu, Y.; Chan, W.K. ContractFuzzer: Fuzzing smart contracts for vulnerability detection. In Proceedings of the 33rd
ACM/IEEE International Conference on Automated Software Engineering, ASE 2018, Montpellier, France, 3–7 September 2018;
Huchard, M., Kästner, C., Fraser, G., Eds.; ACM: New York, NY, USA, 2018; pp. 259–269. [CrossRef]
29. Gao, Z.; Jiang, L.; Xia, X.; Lo, D.; Grundy, J. Checking Smart Contracts With Structural Code Embedding. IEEE Trans. Softw. Eng.
2021, 47, 2874–2891. [CrossRef]
30. Zhang, L.; Wang, J.; Wang, W.; Jin, Z.; Zhao, C.; Cai, Z.; Chen, H. A Novel Smart Contract Vulnerability Detection Method Based
on Information Graph and Ensemble Learning. Sensors 2022, 22, 3581. [CrossRef] [PubMed]
31. Sendner, C.; Chen, H.; Fereidooni, H.; Petzi, L.; König, J.; Stang, J.; Dmitrienko, A.; Sadeghi, A.; Koushanfar, F. Smarter Contracts:
Detecting Vulnerabilities in Smart Contracts with Deep Transfer Learning. In Proceedings of the 30th Annual Network and
Distributed System Security Symposium, NDSS 2023, San Diego, CA, USA, 27 February–3 March 2023; The Internet Society:
Reston, VA, USA, 2023.
32. Zhuang, Y.; Liu, Z.; Qian, P.; Liu, Q.; Wang, X.; He, Q. Smart Contract Vulnerability Detection using Graph Neural Network. In
Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence—IJCAI 2020, Yokohama, Japan, 11–17
July 2020; pp. 3283–3290. [CrossRef]
33. Choi, W.Y.; Song, K.Y.; Lee, C.W. Convolutional Attention Networks for Multimodal Emotion Recognition from Speech and Text
Data. In Proceedings of the Grand Challenge and Workshop on Human Multimodal Language (Challenge-HML), Melbourne,
Australia, 20 July 2018; pp. 28–34.
34. Tang, K.; Ma, Y.; Miao, D.; Song, P.; Gu, Z.; Tian, Z.; Wang, W. Decision Fusion Networks for Image Classification. IEEE Trans.
Neural Netw. Learn. Syst. 2022, 1–14. [CrossRef] [PubMed]
35. Gandhi, A.; Adhvaryu, K.; Poria, S.; Cambria, E.; Hussain, A. Multimodal sentiment analysis: A systematic review of history,
datasets, multimodal fusion methods, applications, challenges and future directions. Inf. Fusion 2022, 91, 424–444. [CrossRef]
36. Li, M. An analysis of multimodal emotional braincomputer interface. In Proceedings of the 2021 International Conference on
Intelligent Computing, Automation and Systems (ICICAS), Chongqing, China, 29–31 December 2021; IEEE: Piscataway, NJ, USA,
2021; pp. 407–411.
Sensors 2023, 23, 7246 20 of 21
37. Hu, J.; Liu, Y.; Zhao, J.; Jin, Q. MMGCN: Multimodal Fusion via Deep Graph Convolution Network for Emotion Recognition
in Conversation. In Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th
International Joint Conference on Natural Language Processing (Volume 1: Long Papers), Virtual Event, 1–6 August 2021;
pp. 5666–5675.
38. Makiuchi, M.R.; Uto, K.; Shinoda, K. Multimodal Emotion Recognition with High-Level Speech and Text Features. In Proceedings
of the 2021 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU), Cartagena, Colombia, 13–17 December
2021; pp. 350–357.
39. Xie, H.; Mao, J.; Li, G. Sentiment classification of image-text information with multi-layer semantic fusion. Data Anal. Knowl.
Discov. 2021, 5, 103–114. [CrossRef]
40. Ling, S.; Zhang, X.; Guo, M.; Zhang, W. Method Research on Multimodal Emotion Recognition Based on Audio and Video. J.
Signal Process. 2021, 37, 1889–1898. [CrossRef]
41. Fan, W.; He, Z.; Xing, X.; Cai, B.; Lu, W. Multi-modality Depression Detection via Multi-scale Temporal Dilated CNNs. In
Proceedings of the 9th International on Audio/Visual Emotion Challenge and Workshop, AVEC@MM 2019, Nice, France, 21–25
October 2019; Ringeval, F., Schuller, B.W., Valstar, M.F., Cummins, N., Cowie, R., Pantic, M., Eds.; ACM: New York, NY, USA,
2019; pp. 73–80. [CrossRef]
42. Yin, S.; Liang, C.; Ding, H.; Wang, S. A Multi-Modal Hierarchical Recurrent Neural Network for Depression Detection. In
Proceedings of the 9th International on Audio/Visual Emotion Challenge and Workshop, AVEC@MM 2019, Nice, France, 21–25
October 2019; Ringeval, F., Schuller, B.W., Valstar, M.F., Cummins, N., Cowie, R., Pantic, M., Eds.; ACM:New York, NY, USA, 2019;
pp. 65–71. [CrossRef]
43. Ray, A.; Kumar, S.; Reddy, R.; Mukherjee, P.; Garg, R. Multi-level Attention Network using Text, Audio and Video for Depression
Prediction. In Proceedings of the 9th International on Audio/Visual Emotion Challenge and Workshop, AVEC@MM 2019, Nice,
France, 21–25 October 2019; Ringeval, F., Schuller, B.W., Valstar, M.F., Cummins, N., Cowie, R., Pantic, M., Eds.; ACM: New York,
NY, USA, 2019; pp. 81–88. [CrossRef]
44. Meng, H.; Huang, D.; Wang, H.; Yang, H.; Al-Shuraifi, M.; Wang, Y. Depression recognition based on dynamic facial and vocal
expression features using partial least square regression. In Proceedings of the 3rd ACM international workshop on Audio/Visual
Emotion Challenge, AVEC@ACM Multimedia 2013, Barcelona, Spain, 21 October 2013; Schuller, B.W., Valstar, M.F., Cowie, R.,
Krajewski, J., Pantic, M., Eds.; ACM: New York, NY, USA, 2013; pp. 21–30. [CrossRef]
45. Gaw, N.; Yousefi, S.; Gahrooei, M.R. Multimodal data fusion for systems improvement: A review. IISE Trans. 2022, 54, 1098–1116.
[CrossRef]
46. Shalu, H.; P, H.; CN, H.S.; Das, A.; Majumder, S.; Datar, A.; MS, S.M.; Das, A.; Kadiwala, J. Depression Status Estimation by Deep
Learning based Hybrid Multi-Modal Fusion Model. arXiv 2020, arXiv:2011.14966.
47. Alghowinem, S.; Goecke, R.; Cohn, J.F.; Wagner, M.; Parker, G.; Breakspear, M. Cross-cultural detection of depression from
nonverbal behaviour. In Proceedings of the 11th IEEE International Conference and Workshops on Automatic Face and Gesture
Recognition, FG 2015, Ljubljana, Slovenia, 4–8 May 2015; IEEE Computer Society: Washington, DC, USA, 2015; pp. 1–8. [CrossRef]
48. Morales, M.R.; Scherer, S.; Levitan, R. A Linguistically-Informed Fusion Approach for Multimodal Depression Detection.
In Proceedings of the Fifth Workshop on Computational Linguistics and Clinical Psychology: From Keyboard to Clinic,
CLPsych@NAACL-HTL, New Orleans, LA, USA, 5 June 2018; Loveys, K., Niederhoffer, K., Prud’hommeaux, E., Resnik,
R., Resnik, P., Eds.; Association for Computational Linguistics: Stroudsburg, PA, USA, 2018; pp. 13–24. [CrossRef]
49. Shakya, S.; Mukherjee, A.; Halder, R.; Maiti, A.; Chaturvedi, A. Smartmixmodel: Machine learning-based vulnerability detection
of solidity smart contracts. In Proceedings of the 2022 IEEE International Conference on Blockchain (Blockchain), Espoo, Finland,
22–25 August 2022; IEEE: Piscataway, NJ, USA, 2022; pp. 37–44.
50. Akter, M.S.; Shahriar, H.; Bhuiya, Z.A. Automated vulnerability detection in source code using quantum natural language
processing. In Proceedings of the Inernational Conference on Ubiquitous Security, Zhangjiajie, China, 28–31 December 2022;
Springer: Berlin/Heidelberg, Germany, 2022; pp. 83–102.
51. Wu, C.; Xiong, J.; Xiong, H.; Zhao, Y.; Yi, W. A review on recent progress of smart contract in blockchain. IEEE Access 2022, 10,
50839–50863. [CrossRef]
52. Jiang, F.; Cao, Y.; Xiao, J.; Yi, H.; Lei, G.; Liu, M.; Deng, S.; Wang, H. VDDL: A deep learning-based vulnerability detection model
for smart contracts. In Proceedings of the International Conference on Machine Learning for Cyber Security, Guangzhou, China,
2–4 December 2022; Springer: Berlin/Heidelberg, Germany, 2022; pp. 72–86.
53. Jeon, S.; Lee, G.; Kim, H.; Woo, S.S. Smartcondetect: Highly accurate smart contract code vulnerability detection mechanism
using bert. In Proceedings of the KDD Workshop on Programming Language Processing, Virtual, 14–18 August 2021.
54. Albert, E.; Gordillo, P.; Hernández-Cerezo, A.; Rubio, A.; Schett, M.A. Super-optimization of smart contracts. ACM Trans. Softw.
Eng. Methodol. (TOSEM) 2022, 31, 1–29. [CrossRef]
55. Zhang, H.; Zhang, W.; Feng, Y.; Liu, Y. SVScanner: Detecting smart contract vulnerabilities via deep semantic extraction. J. Inf.
Secur. Appl. 2023, 75, 103484. [CrossRef]
56. Ashizawa, N.; Yanai, N.; Cruz, J.P.; Okamura, S. Eth2Vec: Learning contract-wide code representations for vulnerability detection
on ethereum smart contracts. In Proceedings of the 3rd ACM International Symposium on Blockchain and Secure Critical
Infrastructure, Hong Kong, China, 7–11 June 2021; pp. 47–59.
Sensors 2023, 23, 7246 21 of 21
57. Liu, Z.; Jiang, M.; Zhang, S.; Zhang, J.; Liu, Y. A Smart Contract Vulnerability Detection Mechanism Based on Deep Learning and
Expert Rules. IEEE Access 2023, 11, 77990–77999. [CrossRef]
58. Agarwal, S.; Godboley, S.; Krishna, P.R. Cyclomatic Complexity Analysis for Smart Contract Using Control Flow Graph. In
Proceedings of the International Conference on Computing, Communication and Learning, Warangal, India, 27–29 October 2022;
Springer: Berlin/Heidelberg, Germany, 2022; pp. 65–78.
59. Liu, H.; Fan, Y.; Feng, L.; Wei, Z. Vulnerable Smart Contract Function Locating Based on Multi-Relational Nested Graph
Convolutional Network. J. Syst. Softw. 2023, 204, 111775. [CrossRef]
60. Feist, J.; Grieco, G.; Groce, A. Slither: A static analysis framework for smart contracts. In Proceedings of the 2019 IEEE/ACM 2nd
International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), Montreal, QC, Canada, 27 May
2019; IEEE: Piscataway, NJ, USA, 2019; pp. 8–15.
61. Mikolov, T.; Chen, K.; Corrado, G.; Dean, J. Efficient Estimation of Word Representations in Vector Space. In Proceedings of the
1st International Conference on Learning Representations, ICLR 2013, Scottsdale, Arizona, USA, 2–4 May 2013.
62. Kuyumcu, B.; Aksakalli, C.; Delil, S. An automated new approach in fast text classification (fastText) A case study for Turkish text
classification without pre-processing. In Proceedings of the 2019 3rd International Conference on Natural Language Processing
and Information Retrieval, Tokushima, Japan, 28–30 June 2019; pp. 1–4.
63. Wang, H.; He, J.; Zhang, X.; Liu, S. A short text classification method based on N-gram and CNN. Chin. J. Electron. 2020, 29,
248–254. [CrossRef]
64. Kipf, T.N.; Welling, M. Semi-Supervised Classification with Graph Convolutional Networks. In Proceedings of the 5th Interna-
tional Conference on Learning Representations, ICLR 2017, Toulon, France, 24–26 April 2017.
65. Sujeet Yashavant, C.; Kumar, S.; Karkare, A. ScrawlD: A Dataset of Real World Ethereum Smart Contracts Labelled with
Vulnerabilities. arXiv 2022, arXiv:2202.11409.
66. He, H.; Bai, Y.; Garcia, E.A.; Li, S. ADASYN: Adaptive synthetic sampling approach for imbalanced learning. In Proceedings
of the 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence),
Hong Kong, China, 1–6 June 2008; IEEE: Piscataway, NJ, USA, 2008; pp. 1322–1328.
67. Peng, C.; Akca, S.; Rajan, A. SIF: A Framework for Solidity Contract Instrumentation and Analysis. In Proceedings of the 2019
26th Asia-Pacific Software Engineering Conference (APSEC), Putrajaya, Malaysia, 2–5 December 2019; IEEE: Piscataway, NJ,
USA, 2019; pp. 466–473.
68. Mythril. 2023. Available online: https://github.com/ConsenSys/mythril (accessed on 31 May 2023).
69. Tikhomirov, S.; Voskresenskaya, E.; Ivanitskiy, I.; Takhaviev, R.; Marchenko, E.; Alexandrov, Y. SmartCheck: Static Analysis
of Ethereum Smart Contracts. In Proceedings of the 1st IEEE/ACM International Workshop on Emerging Trends in Software
Engineering for Blockchain, WETSEB@ICSE 2018, Gothenburg, Sweden, 27 May–3 June 2018; ACM: New York, NY, USA, 2018;
pp. 9–16. [CrossRef]
70. Baldoni, R.; Coppa, E.; D’Elia, D.C.; Demetrescu, C.; Finocchi, I. A Survey of Symbolic Execution Techniques. ACM Comput. Surv.
2018, 51, 50:1–50:39. [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content.