CroLSSim: Cross‐language software similarity detector using hybrid approach of LSA‐based AST‐MDrep features and CNN‐LSTM model

Ullah, Farhan ORCID logoORCID: https://orcid.org/0000-0002-1030-1275, Naeem, Muhammad Rashid, Naeem, Hamad, Cheng, Xiaochun ORCID logoORCID: https://orcid.org/0000-0003-0371-9646 and Alazab, Mamoun (2022) CroLSSim: Cross‐language software similarity detector using hybrid approach of LSA‐based AST‐MDrep features and CNN‐LSTM model. International Journal of Intelligent Systems, 37 (9) . pp. 5768-5795. ISSN 0884-8173 [Article] (doi:10.1002/int.22813)

Abstract

Software similarity in different programming codes is a rapidly evolving field because of its numerous applications in software development, software cloning, software plagiarism, and software forensics. Currently, software researchers and developers search cross-language open-source repositories for similar applications for a variety of reasons, such as reusing programming code, analyzing different implementations, and looking for a better application. However, it is a challenging task because each programming language has a unique syntax and semantic structure. In this paper, a novel tool called Cross-Language Software Similarity (CroLSSim) is designed to detect similar software applications written in different programming codes. First, the Abstract Syntax Tree (AST) features are collected from different programming codes. These are high-quality features that can show the abstract view of each program. Then, Methods Description (MDrep) in combination with AST is used to examine the relationship among different method calls. Second, the Term Frequency Inverse Document Frequency approach is used to retrieve the local and global weights from AST-MDrep features. Third, the Latent Semantic Analysis-based features extraction and selection method is proposed to extract the semantic anchors in reduced dimensional space. Fourth, the Convolution Neural Network (CNN)-based features extraction method is proposed to mine the deep features. Finally, a hybrid deep learning model of CNN-Long-Short-Term Memory is designed to detect semantically similar software applications from these latent variables. The data set contains approximately 9.5K Java, 8.8K C#, and 7.4K C++ software applications obtained from GitHub. The proposed approach outperforms as compared with the state-of-the-art methods.

Item Type: Article
Keywords (uncontrolled): Artificial Intelligence, Human-Computer Interaction, Theoretical Computer Science, Software
Research Areas: A. > School of Science and Technology > Computer Science
Item ID: 34560
Useful Links:
Depositing User: Jisc Publications Router
Date Deposited: 20 Jan 2022 17:55
Last Modified: 09 Aug 2022 07:53
URI: https://eprints.mdx.ac.uk/id/eprint/34560

Actions (login required)

View Item View Item

Statistics

Activity Overview
6 month trend
0Downloads
6 month trend
59Hits

Additional statistics are available via IRStats2.