Design of an Efficient Blockchain-Based Tracing Model to Identify the Source of Software Bugs Via Log Analysis

Design of an Efficient Blockchain-Based Tracing Model to Identify the Source of Software Bugs Via Log Analysis

  IJETT-book-cover           
  
© 2024 by IJETT Journal
Volume-72 Issue-7
Year of Publication : 2024
Author : Darshana Tambe, Lata Ragha
DOI : 10.14445/22315381/IJETT-V72I7P114

How to Cite?

Darshana Tambe, Lata Ragha, "Design of an Efficient Blockchain-Based Tracing Model to Identify the Source of Software Bugs Via Log Analysis," International Journal of Engineering Trends and Technology, vol. 72, no. 7, pp. 124-136, 2024. Crossref, https://doi.org/10.14445/22315381/IJETT-V72I7P114

Abstract
In the rapidly evolving software development landscape, accurate and timely identification of the source of bugs remains a challenging task. Despite advances in the field, existing tracing models frequently fail to provide real-time traceability and suffer from limitations in terms of processing efficiency and accuracy. In light of these shortcomings, this work proposes an innovative approach that leverages blockchain technology to mitigate these issues for different scenarios. This paper presents the design of an efficient blockchain-based tracing model that aims to enhance the precision, accuracy, and speed of identifying the origin of software bugs via log analysis. The proposed model is predicated on a novel consensus mechanism known as Proof of Tracing (PoTr), wherein miner nodes are selected based on their demonstrated tracing capabilities. Through iterative evaluation during the training and validation phases, we assess the efficiency of a node in tracing events to facilitate its participation in the blockchains. Central to this proposed approach is the incorporation of traceability and distributed processing among various software components within the blockchain models. The distinctive feature of our model is its ability to leverage distributed ledger technology, providing immutable, transparent, and decentralized logs for efficient bug-tracing operations. Compared with recently proposed tracing models, our approach using the PoTr model delivers a remarkable improvement in the precision of source tracing by 8.5%, accuracy of tracing by 5.9%, recall of tracing by 8.3%, and a reduction in the delay necessary for tracing by 10.5%. In conclusion, the proposed research demonstrates the potential of the blockchain-based tracing model in overcoming the limitations of existing software bug identification mechanisms. This work paves the way for future research and development efforts that integrate blockchain technology and sophisticated consensus mechanisms to improve the robustness and efficiency of software debugging and maintenance processes.

Keywords
Blockchain technology, Software bug tracing, Log analysis, Proof of Tracing (PoTr), Consensus mechanisms.

References
[1] hipeng Gao et al., “Checking Smart Contracts with Structural Code Embedding,” IEEE Transactions on Software Engineering, vol. 47, no. 12, pp. 2874-2891, 2020.
[CrossRef] [Google Scholar] [Publisher Link]
[2] Jiachi Chen et al., “Defectchecker: Automated Smart Contract Defect Detection by Analyzing EVM Bytecode,” IEEE Transactions on Software Engineering, vol. 48, no. 7, pp. 2189-2207, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[3] Hai Jin et al., “Aroc: An Automatic Repair Framework for on-Chain Smart Contracts,” IEEE Transactions on Software Engineering, vol. 48, no. 11, pp. 4611-4629, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[4] Fuchen Ma et al., “Pluto: Exposing Vulnerabilities in Inter-Contract Scenarios,” IEEE Transactions on Software Engineering, vol. 48, no. 11, pp. 4380-4396, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[5] Jiachi Chen et al., “Defining Smart Contract Defects on Ethereum,” IEEE Transactions on Software Engineering, vol. 48, no. 1, pp. 327-345, 2020.
[CrossRef] [Google Scholar] [Publisher Link]
[6] Tuba Yavuz et al., “ENCIDER: Detecting Timing and Cache Side Channels in SGX Enclaves and Cryptographic APIs,” IEEE Transactions on Dependable and Secure Computing, vol. 20, no. 2, pp. 1577-1595, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[7] Thomas Reinhold et al., “ExTRUST: Reducing Exploit Stockpiles with a Privacy-Preserving Depletion System for Inter-State Relationships,” IEEE Transactions on Technology and Society, vol. 4, no. 2, pp. 158-170, 2023.
[CrossRef] [Google Scholar] [Publisher Link]
[8] Mykhailo Lasynskyi, and Janusz Sosnowski, “Extending the Space of Software Test Monitoring: Practical Experience,” IEEE Access, vol. 9, pp. 166166-166183, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[9] Amr Mansour Mohsen et al., “Enhancing Bug Localization using Phase-Based Approach,” IEEE Access, vol. 11, pp. 35901-35913, 2023.
[CrossRef] [Google Scholar] [Publisher Link]
[10] Haijun Wang et al., “Explaining Regressions via Alignment Slicing and Mending,” IEEE Transactions on Software Engineering, vol. 47, no. 11, pp. 2421-2437, 2019.
[CrossRef] [Google Scholar] [Publisher Link]
[11] Zhide Zhou et al., “LocSeq: Automated Localization for Compiler Optimization Sequence Bugs of LLVM,” IEEE Transactions on Reliability, vol. 71, no. 2, pp. 896-910, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[12] Yijing Lyu et al., “A Systematic Literature Review of Issue-Based Requirement Traceability,” IEEE Access, vol. 11, pp. 13334-13348, 2023.
[CrossRef] [Google Scholar] [Publisher Link]
[13] Ting Su et al., “Why my App Crashes? Understanding and Benchmarking Framework-Specific Exceptions of Android Apps,” IEEE Transactions on Software Engineering, vol. 48, no. 4, pp. 1115-1137, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[14] Xiaogang Zhu et al., “CSI-Fuzz: Full-Speed Edge Tracing Using Coverage Sensitive Instrumentation,” IEEE Transactions on Dependable and Secure Computing, vol. 19, no. 2, pp. 912-923, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[15] Christophe Rezk, Yasutaka Kamei, and Shane McIntosh, “The Ghost Commit Problem when Identifying Fix-Inducing Changes: An Empirical Study of Apache Projects,” IEEE Transactions on Software Engineering, vol. 48, no. 9, pp. 3297-3309, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[16] Lisa Nguyen Quang Do, and Eric Bodden, “Explaining Static Analysis with Rule Graphs,” IEEE Transactions on Software Engineering, vol. 48, no. 2, pp. 678-690, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[17] Le Yu et al., “Towards Automatically Localizing Function Errors in Mobile Apps with User Reviews,” IEEE Transactions on Software Engineering, vol. 49, no. 4, pp. 1464-1486, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[18] Fiorella Artuso, Giuseppe Antonio Di Luna, and Leonardo Querzoni, “Debugging Debug Information With Neural Networks,” IEEE Access, vol. 10, pp. 54136-54148, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[19] Dylan Chapp et al., “Identifying Degree and Sources of Non-Determinism in MPI Applications via Graph Kernels,” IEEE Transactions on Parallel and Distributed Systems, vol. 32, no. 12, pp. 2936-2952, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[20] Alessio Diamanti, José Manuel Sánchez Vílchez, and Stefano Secci, “An AI-Empowered Framework for Cross-Layer Softwarized Infrastructure State Assessment,” IEEE Transactions on Network and Service Management, vol. 19, no. 4, pp. 4434-4448, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[21] Zhanyao Lei et al. “Bootstrapping Automated Testing for RESTful Web Services,” IEEE Transactions on Software Engineering, vol. 49, no. 4, pp. 1561-1579, 2023.
[CrossRef] [Google Scholar] [Publisher Link]
[22] Yu Qu et al. “Using K-Core Decomposition on Class Dependency Networks to Improve Bug Prediction Model's Practical Performance,” IEEE Transactions on Software Engineering, vol. 47, no. 2, pp. 348-366, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[23] Syed Farhan Alam Zaidi, Honguk Woo, and Chan-Gun Lee, “A Graph Convolution Network-Based bug Triage System to Learn Heterogeneous Graph Representation of Bug Reports,” IEEE Access, vol. 10, pp. 20677-20689, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[24] Yanjie Jiang et al., “Bugbuilder: An Automated Approach to Building Bug Repository,” IEEE Transactions on Software Engineering, vol. 49, no. 4, pp. 1443-1463, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[25] Hao Zhong, Xiaoyin Wang, and Hong Mei, “Inferring Bug Signatures to Detect Real Bugs,” IEEE Transactions on Software Engineering, vol. 48, no. 2 pp. 571-584, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[26] Thu-Trang Nguyen et al., “A Variability Fault Localization Approach for Software Product Lines,” IEEE Transactions on Software Engineering, vol. 48, no. 10, pp. 4100-4118, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[27] Hassan Tahir, Saif Ur Rehman Khan, and Syed Sohaib Ali, “LCBPA: An Enhanced Deep Neural Network-Oriented Bug Prioritization and Assignment Technique Using Content-Based Filtering,” IEEE Access, vol. 9, pp. 92798-92814, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[28] Shunkun Yang et al., “Software Bug Number Prediction based on Complex Network Theory and Panel Data Model,” IEEE Transactions on Reliability, vol. 71, no. 1, pp. 162-177, 2022.
[CrossRef] [Google Scholar] [Publisher Link]
[29] Bei Wang et al., “Multi-Dimension Convolutional Neural Network for Bug Localization,” IEEE Transactions on Services Computing, vol. 15, no. 3, pp. 1649-1663, 2021.
[CrossRef] [Google Scholar] [Publisher Link]
[30] Gabriel Solomon et al., “A Secure and Cost-Efficient Blockchain Facilitated IoT Software Update Framework,” IEEE Access, vol. 11, pp. 44879-44894, 2023.
[CrossRef] [Google Scholar] [Publisher Link]