Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

AI and Blockchain-based source code vulnerability detection and prevention system for multiparty software development

Published: 01 March 2023 Publication History

Abstract

With the growing demand for application software, there is a race among industries to develop software as quickly as possible. However, maintaining pace and ensuring bug-free software has become increasingly challenging in a work-from-home arrangement as software developers are not under constant supervision. It increases the possibility of buggy products, and traditional testing techniques fail to provide optimal performance. We propose an Artificial Intelligence (AI) and blockchain-based novel decentralized software testing system. The proposed system aims to detect and prevent vulnerable code by synergizing deep learning capabilities and smart-contract-powered blockchain. The vulnerability detection is performed automatically without relying on manually written rules. We propose a non-vulnerability score range map to classify the source code. Furthermore, we integrate an InterPlanetary File System (IPFS) to ensure efficient storage over the blockchain. We conduct a testbed-based experiment to demonstrate the effectiveness of AI and blockchain integration for secure code development and testing.

Graphical abstract

Display Omitted

Highlights

Software testing is one of the vital phases in the software development life cycle.
AI can automate the code testing process for vulnerability detection.
A blockchain-based system ensures transparency and trust in software development.
Integrating AI and Blockchain can enhance the software testing lifecycle.

References

[1]
Brown S., What work of the future means to 5 business leaders, 2022, URL https://mitsloan.mit.edu/ideas-made-to-matter/what-work-future-means-to-5-business-leaders.
[2]
Wei H., Lin G., Li L., Jia H., A context-aware neural embedding for function-level vulnerability detection, Algorithms 14 (11) (2021) 335.
[3]
Russell R., Kim L., Hamilton L., Lazovich T., Harer J., Ozdemir O., Ellingwood P., McConley M., Automated vulnerability detection in source code using deep representation learning, in: 2018 17th IEEE international conference on machine learning and applications (ICMLA), IEEE, 2018, pp. 757–762.
[4]
Du X., Chen B., Li Y., Guo J., Zhou Y., Liu Y., Jiang Y., Leopard: Identifying vulnerable code for vulnerability assessment through program metrics, in: 2019 IEEE/ACM 41st international conference on software engineering (ICSE), IEEE, 2019, pp. 60–71.
[5]
Ruggahakotuwa L., Rupasinghe L., Abeygunawardhana P., Code vulnerability identification and code improvement using advanced machine learning, in: 2019 International conference on advancements in computing (ICAC), 2019, pp. 186–191,.
[6]
Hochreiter S., Schmidhuber J., Long short-term memory, Neural Comput 9 (8) (1997) 1735–1780,.
[7]
Graves A., Schmidhuber J., Framewise phoneme classification with bidirectional LSTM networks, in: Proceedings. 2005 IEEE international joint conference on neural networks, 2005., vol. 4, IEEE, 2005, pp. 2047–2052.
[8]
Nakamoto S., Bitcoin: A peer-to-peer electronic cash system, Decentralized Bus Rev (2008) 21260.
[9]
Hosen A.S.M.S., Singh S., Sharma P.K., Ghosh U., Wang J., Ra I.-H., Cho G.H., Blockchain-based transaction validation protocol for a secure distributed IoT network, IEEE Access 8 (2020) 117266–117277,.
[10]
Malik A.A., Tosh D.K., Ghosh U., Non-intrusive deployment of blockchain in establishing cyber-infrastructure for smart city, in: 2019 16th Annual IEEE international conference on sensing, communication, and networking (SECON), 2019, pp. 1–6,.
[11]
Yau S.S., Patel J.S., Application of blockchain for trusted coordination in collaborative software development, in: 2020 IEEE 44th annual computers, software, and applications conference (COMPSAC), 2020, pp. 1036–1040,.
[12]
Steichen M., Fiz B., Norvill R., Shbair W., State R., Blockchain-based, decentralized access control for IPFS, in: 2018 IEEE International conference on internet of things (ithings) and ieee green computing and communications (greencom) and ieee cyber, physical and social computing (cpscom) and ieee smart data (smartdata), 2018, pp. 1499–1506,.
[13]
Bassil Y., A simulation model for the waterfall software development life cycle, 2012, arXiv preprint arXiv:1205.6904.
[14]
Karhu K., Repo T., Taipale O., Smolander K., Empirical observations on software testing automation, in: 2009 International conference on software testing verification and validation, 2009, pp. 201–209,.
[15]
Sneha K., Malle G.M., Research on software testing techniques and software automation testing tools, in: 2017 International conference on energy, communication, data analytics and soft computing (ICECDS), IEEE, 2017, pp. 77–81.
[16]
Hemalatha J., Roseline S.A., Geetha S., Kadry S., Damaševičius R., An efficient densenet-based deep learning model for malware detection, Entropy 23 (3) (2021) 344.
[17]
Hanif H., Maffeis S., VulBERTa: Simplified source code pre-training for vulnerability detection, in: 2022 International joint conference on neural networks (IJCNN), 2022, pp. 1–8,.
[18]
Li Z., Zou D., Xu S., Ou X., Jin H., Wang S., Deng Z., Zhong Y., VulDeePecker: A deep learning-based system for vulnerability detection, in: 25th Annual network and distributed system security symposium, NDSS 2018, San Diego, California, USA, February 18-21, 2018, The Internet Society, 2018, URL http://wp.internetsociety.org/ndss/wp-content/uploads/sites/25/2018/02/ndss2018_03A-2_Li_paper.pdf.
[19]
Filus K., Domańska J., Software vulnerabilities in TensorFlow-based deep learning applications, Comput Secur 124 (2023),. URL https://www.sciencedirect.com/science/article/pii/S0167404822003406.
[20]
Lilani S., Malani D., Modi J., Soni F., Securing the software development life cycle (SDLC) with a blockchain oriented development approach, Think India J 22 (41) (2020) 221–226.
[21]
Grahn D., Zhang J., An analysis of c/c++ datasets for machine learning-assisted software vulnerability detection, 2021.
[22]
Buterin V., et al., A next-generation smart contract and decentralized application platform, White Pap 3 (37) (2014) 2–21.
[23]
Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones L., Gomez A.N., Kaiser Ł., Polosukhin I., Attention is all you need, Adv Neural Inf Process Syst 30 (2017).
[24]
Devlin J., Chang M.-W., Lee K., Toutanova K., BERT: Pre-training of deep bidirectional transformers for language understanding, in: Proceedings of the 2019 conference of the North American chapter of the association for computational linguistics: Human language technologies, volume 1 (Long and Short Papers), Association for Computational Linguistics, Minneapolis, Minnesota, 2019, pp. 4171–4186,. URL https://aclanthology.org/N19-1423.
[25]
Janowsky S.A., Pruning versus clipping in neural networks, Phys Rev A 39 (12) (1989) 6600.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Computers and Electrical Engineering
Computers and Electrical Engineering  Volume 106, Issue C
Mar 2023
738 pages

Publisher

Pergamon Press, Inc.

United States

Publication History

Published: 01 March 2023

Author Tags

  1. Deep learning
  2. Blockchain
  3. Smart contract
  4. IPFS
  5. Software testing
  6. Software development

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media