Android Source Code Vulnerability Detection: A Systematic Literature Review

被引:40
作者
Senanayake, Janaka [1 ,2 ]
Kalutarage, Harsha [1 ]
Al-Kadri, Mhd Omar [3 ]
Petrovski, Andrei [1 ]
Piras, Luca [4 ]
机构
[1] Robert Gordon Univ, Garthdee Rd, Aberdeen AB10 7QB, Sri Lanka
[2] Univ Kelaniya, Kelaniya 11600, Western Provinc, Sri Lanka
[3] Birmingham City Univ, Curzon St, Birmingham B4 7XG, W Midlands, England
[4] Middlesex Univ, London NW4 4BT, England
关键词
Source code vulnerability; vulnerability detection; software security; Android security; machine learning; APPS;
D O I
10.1145/3556974
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The use of mobile devices is rising daily in this technological era. A continuous and increasing number of mobile applications are constantly offered on mobile marketplaces to fulfil the needs of smartphone users. Many Android applications do not address the security aspects appropriately. This is often due to a lack of automated mechanisms to identify, test, and fix source code vulnerabilities at the early stages of design and development. Therefore, the need to fix such issues at the initial stages rather than providing updates and patches to the published applications is widely recognized. Researchers have proposed several methods to improve the security of applications by detecting source code vulnerabilities and malicious codes. This Systematic Literature Review (SLR) focuses on Android application analysis and source code vulnerability detection methods and tools by critically evaluating 118 carefully selected technical studies published between 2016 and 2022. It highlights the advantages, disadvantages, applicability of the proposed techniques, and potential improvements of those studies. Both Machine Learning (ML)-based methods and conventional methods related to vulnerability detection are discussed while focusing more on ML-based methods, since many recent studies conducted experiments with ML. Therefore, this article aims to enable researchers to acquire in-depth knowledge in secure mobile application development while minimizing the vulnerabilities by applying ML methods. Furthermore, researchers can use the discussions and findings of this SLR to identify potential future research and development directions.
引用
收藏
页数:37
相关论文
共 169 条
[1]  
360 Security, 2022, QIH
[2]  
Alenezi Mamdouh, 2018, 5th International Symposium on Data Mining Applications. Advances in Intelligent Systems and Computing (AISC 753), P84, DOI 10.1007/978-3-319-78753-4_8
[3]  
Allix K, 2016, 13TH WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2016), P468, DOI [10.1145/2901739.2903508, 10.1109/MSR.2016.056]
[4]   code2vec: Learning Distributed Representations of Code [J].
Alon, Uri ;
Zilberstein, Meital ;
Levy, Omer ;
Yahav, Eran .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL)
[5]  
Alqahtani EJ, 2019, 2019 SIXTH INTERNATIONAL CONFERENCE ON SOFTWARE DEFINED SYSTEMS (SDS), P110, DOI [10.1109/SDS.2019.8768729, 10.1109/sds.2019.8768729]
[6]  
Alsayra, 2020, INTELLIGENCE SECURIT
[7]   Machine Learning from Theory to Algorithms: An Overview [J].
Alzubi, Jafar ;
Nayyar, Anand ;
Kumar, Akshi .
SECOND NATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE (NCCI 2018), 2018, 1142
[8]  
Amalfitano D, 2012, IEEE INT CONF AUTOM, P258, DOI 10.1145/2351676.2351717
[9]   AndroShield: Automated Android Applications Vulnerability Detection, a Hybrid Static and Dynamic Analysis Approach [J].
Amin, Amr ;
Eldessouki, Amgad ;
Magdy, Menna Tullah ;
Abdeen, Nouran ;
Hindy, Hanan ;
Hegazy, Islam .
INFORMATION, 2019, 10 (10)
[10]  
Android, 2021, ANDROID SECURITY B