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 条
  • [41] Predicting Code Hotspots in Open-Source Software from Object-Oriented Metrics Using Machine Learning
    Hilton, Rod
    Gethner, Ellen
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2018, 28 (03) : 311 - 331
  • [42] Extracting and studying the Logging-Code-Issue- Introducing changes in Java']Java-based large-scale open source software systems
    Chen, Boyuan
    Jiang, Zhen Ming
    EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (04) : 2285 - 2322
  • [43] Data stream mining for predicting software build outcomes using source code metrics
    Finlay, Jacqui
    Pears, Russel
    Connor, Andy M.
    INFORMATION AND SOFTWARE TECHNOLOGY, 2014, 56 (02) : 183 - 198
  • [44] Predicting Vulnerabilities in Computer Source Code Using Non-Investigated Software Metrics
    Agbenyegah, Francis Kwadzo
    Chen, Jinfu
    Asante, Micheal
    Akpaku, Ernest
    SOFTWARE QUALITY JOURNAL, 2025, 33 (01)
  • [45] Mining Reusable Software Components from Object-Oriented Source Code using Discrete PSO and Modeling Them as Java Beans
    Amit Rathee
    Jitender Kumar Chhabra
    Information Systems Frontiers, 2020, 22 : 1519 - 1537
  • [46] Leveraging Open Source Software and Parallel Computing for Model Predictive Control Simulation of Urban Drainage Systems Using EPA-SWMM5 and Python']Python
    Sadler, Jeffrey M.
    Goodall, Jonathan L.
    Behl, Madhur
    Morsy, Mohamed M.
    NEW TRENDS IN URBAN DRAINAGE MODELLING, UDM 2018, 2019, : 988 - 992
  • [47] A Lightweight DFT-Based Approach to the Optical Measurement of Displacements Using an Open-Source Python Code
    V. Nežerka
    P. Havlásek
    Experimental Techniques, 2022, 46 : 485 - 496
  • [48] Intensive Metrics for the Study of the Evolution of Open Source Projects: Case Studies from Apache Software Foundation Projects
    Gala-Perez, Santiago
    Robles, Gregorio
    Gonzalez-Barahona, Jesus M.
    Herraiz, Israel
    2013 10TH IEEE WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR), 2013, : 159 - 168
  • [49] Exploring factors and metrics to select open source software components for integration: An empirical study
    Li, Xiaozhou
    Moreschini, Sergio
    Zhang, Zheying
    Taibi, Davide
    JOURNAL OF SYSTEMS AND SOFTWARE, 2022, 188
  • [50] Dynamic simulation of solar-powered ORC using open-source tools: A case study combining SAM and coolprop via Python']Python
    Eddouibi, Jaouad
    Abderafi, Souad
    Vaudreuil, Sebastien
    Bounahmidi, Tijani
    ENERGY, 2022, 239