Using Software Metrics for Predicting Vulnerable Code-Components: A Study on Java']Java and Python']Python Open Source Projects

被引:2
|
作者
Chong, Tai-Yin [1 ]
Anu, Vaibhav [1 ]
Sultana, Kazi Zakia [1 ]
机构
[1] Montclair State Univ, Dept Comp Sci, Montclair, NJ 07043 USA
关键词
software security; software metrics; vulnerability prediction; software reliability; machine learning;
D O I
10.1109/CSE/EUC.2019.00028
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Software vulnerabilities often remain hidden until an attacker exploits the weak/insecure code. Therefore, testing the software from a vulnerability discovery perspective becomes challenging for developers if they do not inspect their code thoroughly (which is time-consuming). We propose that vulnerability prediction using certain software metrics can support the testing process by identifying vulnerable code-components (e.g., functions, classes, etc.). Once a code-component is predicted as vulnerable, the developers can focus their testing efforts on it, thereby avoiding the time/effort required for testing the entire application. The current paper presents a study that compares how software metrics perform as vulnerability predictors for software projects developed in two different languages (Java vs Python). The goal of this research is to analyze the vulnerability prediction performance of software metrics for different programming languages. We designed and conducted experiments on security vulnerabilities reported for three Java projects (Apache Tomcat 6, Tomcat 7, Apache CXF) and two Python projects (Django and Keystone). In this paper, we focus on a specific type of code component: Functions. We apply Machine Learning models for predicting vulnerable functions. Overall results show that software metrics-based vulnerability prediction is more useful for Java projects than Python projects (i.e., software metrics when used as features were able to predict Java vulnerable functions with a higher recall and precision compared to Python vulnerable functions prediction).
引用
收藏
页码:98 / 103
页数:6
相关论文
共 50 条
  • [1] Using software metrics for predicting vulnerable classes in java']java and python']python based systems
    Sultana, Kazi Zakia
    Anu, Vaibhav
    Chong, Tai-Yin
    INFORMATION SECURITY JOURNAL, 2024, 33 (03): : 251 - 267
  • [2] Blindspots in Python']Python and Java']Java APIs Result in Vulnerable Code
    Brun, Yuriy
    Lin, Tian
    Somerville, Jessie Elise
    Myers, Elisha M.
    Ebner, Natalie
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (03)
  • [3] Using software metrics for predicting vulnerable classes and methods in Java']Java projects: A machine learning approach
    Sultana, Kazi Zakia
    Anu, Vaibhav
    Chong, Tai-Yin
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2021, 33 (03)
  • [4] Modularity Index Metrics for Java']Java-Based Open Source Software Projects
    Emanuel, Andi Wahju Rahardjo
    Wardoyo, Retantyo
    Istiyanto, Jazi Eko
    Mustofa, Khabib
    INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2011, 2 (11) : 52 - 58
  • [5] Exploring the Security Awareness of the Python']Python and Java']JavaScript Open Source Communities
    Antal, Gabor
    Keleti, Marton
    Hegedus, Peter
    2020 IEEE/ACM 17TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR, 2020, : 16 - 20
  • [6] On the Nature of Code Cloning in Open-Source Java']Java Projects
    Golubev, Yaroslav
    Bryksin, Timofey
    2021 IEEE 15TH INTERNATIONAL WORKSHOP ON SOFTWARE CLONES, IWSC 2021, 2021, : 22 - 28
  • [7] Implementation of python source code comparison results with Java using bubble sort method
    Insanudin, E.
    Journal of Physics: Conference Series, 2019, 1280 (03)
  • [8] Code Reuse in Stack Overflow and Popular Open Source Java']Java Projects
    Lotter, Adriaan
    Licorish, Sherlock A.
    Savarimuthu, Bastin Tony Roy
    Meldrum, Sarah
    2018 25TH AUSTRALASIAN SOFTWARE ENGINEERING CONFERENCE (ASWEC), 2018, : 141 - 150
  • [9] Sextant: A Tool to Specify and Visualize Software Metrics for Java']Java Source-Code
    Winter, Victor
    Reinke, Carl
    Guerrero, Jonathan
    2013 4TH INTERNATIONAL WORKSHOP ON EMERGING TRENDS IN SOFTWARE METRICS (WETSOM), 2013, : 49 - 55
  • [10] Classifying code comments in Java']Java open-source software systems
    Pascarella, Luca
    Bacchelli, Alberto
    2017 IEEE/ACM 14TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2017), 2017, : 227 - 237