PrAIoritize: Learning to Prioritize Smart Contract Bugs and Vulnerabilities

08/21/2023
by   Majd Soud, et al.
0

Smart contract vulnerabilities and bugs have become a key concern for software engineers, as they can lead to significant financial losses, reputational damage, and legal issues. Therefore, prioritizing bug fixing for smart contracts is critical to maintaining trust. Due to the lack of tracking tools, prioritizing smart contract-reported bugs is done manually, which is a tedious task, limits bug triaging, and needs specialized knowledge. Towards this end, we propose PrAIoritize; an automated approach for predicting smart contract bug priorities that assist software engineers in prioritizing highly urgent bug reports. PrAIoritize consists of two main phases: 1) automatic labeling, which involves the automatic construction of a smart contract keyword lexicon and the automatic assignment of priority levels to unlabeled bug reports; 2) model construction, which involves feature engineering and designs layers of feed-forward neural networks (FFNNs) and bidirectional long short-term memory (BiLSTM) with multi-class classification to better capture the features of the textual descriptions of bugs and predict their priority levels. The model then is trained using smart contract bug reports collected from two data sources: open-source software (OSS) projects available on GitHub and NVD vulnerability database. Our evaluation demonstrates significant improvement over state-of-the-art baselines and commonly used pre-trained models (e.g. BERT) for similar classification tasks, with 5.75 in F-measure, precision, and recall.

READ FULL TEXT

page 1

page 3

research
05/23/2020

How Effective are Smart Contract Analysis Tools? Evaluating Smart Contract Static Analysis Tools Using Bug Injection

Security attacks targeting smart contracts have been on the rise, which ...
research
05/16/2019

Better Security Bug Report Classification via Hyperparameter Optimization

When security bugs are detected, they should be (a) discussed privately ...
research
08/22/2019

SmartEmbed: A Tool for Clone and Bug Detection in Smart Contracts through Structural Code Embedding

Ethereum has become a widely used platform to enable secure, Blockchain-...
research
09/06/2023

Fuzz on the Beach: Fuzzing Solana Smart Contracts

Solana has quickly emerged as a popular platform for building decentrali...
research
09/03/2019

A Bug or a Suggestion? An Automatic Way to Label Issues

More and more users and developers are using Issue Tracking Systems (ITS...
research
09/18/2017

Bug or Not? Bug Report Classification Using N-Gram IDF

Previous studies have found that a significant number of bug reports are...
research
04/24/2021

Predicting the Number of Reported Bugs in a Software Repository

The bug growth pattern prediction is a complicated, unrelieved task, whi...

Please sign up or login with your details

Forgot password? Click here to reset