Extracting rules for vulnerabilities detection with static metrics using machine learning

被引:15
作者
Gupta, Aakanshi [1 ]
Suri, Bharti [2 ]
Kumar, Vijay [3 ]
Jain, Pragyashree [4 ]
机构
[1] GGS Indraprastha Univ, ASET, New Delhi, India
[2] GGS Indraprastha Univ, Univ Sch ICT, New Delhi, India
[3] Amity Univ Uttar Pradesh, Dept Math, Amity Inst Appl Sci, Noida, India
[4] Amity Sch Engn & Technol, New Delhi, India
关键词
Software metrics; Machine learning; Static code analysis; Supervised learning;
D O I
10.1007/s13198-020-01036-0
中图分类号
T [工业技术];
学科分类号
08 ;
摘要
Software quality is the prime solicitude in software engineering and vulnerability is one of the major threat in this respect. Vulnerability hampers the security of the software and also impairs the quality of the software. In this paper, we have conducted experimental research on evaluating the utility of machine learning algorithms to detect the vulnerabilities. To execute this experiment; a set of software metrics was extracted using machine learning in the form of easily accessible laws. Here, 32 supervised machine learning algorithms have been considered for 3 most occurred vulnerabilities namely:Lawofdemeter,BeanMemberShouldSerialize,andLocalVariablecouldBeFinalin a software system. Using the J48 machine learning algorithm in this research, up to 96% of accurate result in vulnerability detection was achieved. The results are validated against tenfold cross validation and also, the statistical parameters like ROC curve, Kappa statistics; Recall, Precision, etc. have been used for analyzing the result.
引用
收藏
页码:65 / 76
页数:12
相关论文
共 27 条
  • [1] Experimenting Machine Learning Techniques to Predict Vulnerabilities
    Alves, Henrique
    Fonseca, Baldoino
    Antunes, Nuno
    [J]. 2016 SEVENTH LATIN-AMERICAN SYMPOSIUM ON DEPENDABLE COMPUTING (LADC), 2016, : 151 - 156
  • [2] Bhatt N, 2017, INT J MATH ENG MANAG, V2, P288, DOI 10.33889/IJMEMS.2017.2.4-022
  • [3] Using complexity, coupling, and cohesion metrics as early indicators of vulnerabilities
    Chowdhury, Istehad
    Zulkernine, Mohammad
    [J]. JOURNAL OF SYSTEMS ARCHITECTURE, 2011, 57 (03) : 294 - 313
  • [4] The life and death of statically detected vulnerabilities: An empirical study
    Di Penta, Massimiliano
    Cerulo, Luigi
    Aversano, Lerina
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2009, 51 (10) : 1469 - 1484
  • [5] Comparing and experimenting machine learning techniques for code smell detection
    Fontana, Francesca Arcelli
    Mantyla, Mika V.
    Zanoni, Marco
    Marino, Alessandro
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2016, 21 (03) : 1143 - 1191
  • [6] Hall Mark, 2009, ACM SIGKDD explorations newsletter, V11, P10, DOI 10.1145/1656274.1656278
  • [7] A Comparative Study on Vulnerabilities in Categories of Clones and Non-Cloned Code
    Islam, Md R.
    Zibran, Minhaz F.
    [J]. 2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 3, 2016, : 8 - 14
  • [8] Vulnerability Patch Modeling
    Kansal, Yogita
    Kumar, Deepak
    Kapur, P. K.
    [J]. INTERNATIONAL JOURNAL OF RELIABILITY QUALITY & SAFETY ENGINEERING, 2016, 23 (06)
  • [9] Kapur P. K., 2015, INT C QUAL REL INF T, P34
  • [10] Kindy D. A., 2011, 2011 IEEE 15th International Symposium on Consumer Electronics, P468, DOI 10.1109/ISCE.2011.5973873