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 条
  • [31] Are unit and integration test definitions still valid for modern Java']Java projects? An empirical study on open-source projects
    Trautsch, Fabian
    Herbold, Steffen
    Grabowski, Jens
    JOURNAL OF SYSTEMS AND SOFTWARE, 2020, 159
  • [32] DssPyLib: An open-source python']python FEM software to solve Poisson equation in 2-D using distributed source scheme
    Goona, Nithin Kumar
    Naik, Shraddha M.
    Parne, Saidi Reddy
    Paul, Anand
    SOFTWAREX, 2023, 21
  • [33] Predicting the Maintainability of Open Source Software Using Design Metrics
    ZHOU Yuming1
    2. Department of Computing
    3. Jiangsu Institute of Software Quality
    Wuhan University Journal of Natural Sciences, 2008, (01) : 14 - 20
  • [34] Method Level Refactoring Prediction on Five Open Source Java']Java Projects using Machine Learning Techniques
    Kumar, Lov
    Satapathy, Shashank Mouli
    Murthy, Lalita Bhanu
    PROCEEDINGS OF THE 12TH INNOVATIONS ON SOFTWARE ENGINEERING CONFERENCE (ISEC), 2019,
  • [35] On the Nature of Merge Conflicts: A Study of 2,731 Open Source Java']Java Projects Hosted by GitHub
    Ghiotto, Gleiph
    Murta, Leonardo
    Barros, Marcio
    van der Hoek, Andre
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2020, 46 (08) : 892 - 915
  • [36] Identifying Characteristics of Java']Java Methods that May Influence Branch Coverage: An Exploratory Study on Open Source Projects
    de Castro, Camila Faria
    Oliveira, Decio de Souza, Jr.
    Eler, Marcelo Medeiros
    PROCEEDINGS OF THE 2016 35TH INTERNATIONAL CONFERENCE OF THE CHILEAN COMPUTER SCIENCE SOCIETY (SCCC), 2016,
  • [37] Empirical study on the usage of graph query languages in open source Java projects
    Seifer, Philipp
    Härtel, Johannes
    Leinberger, Martin
    Lämmel, Ralf
    Staab, Steffen
    SLE 2019 - Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2019, 2019, : 152 - 166
  • [38] Two level empirical study of logging statements in open source Java projects
    Lal, Sangeeta
    Sardana, Neetu
    Sureka, Ashish
    International Journal of Open Source Software and Processes, 2015, 6 (01) : 49 - 73
  • [39] Predicting different levels of the unit testing effort of classes using source code metrics: a multiple case study on open-source software
    Toure F.
    Badri M.
    Lamontagne L.
    Innovations in Systems and Software Engineering, 2018, 14 (1) : 15 - 46
  • [40] Object Oriented Metrics Based Empirical Model for Predicting “Code Smells” in Open Source Software
    Kaur S.
    Singh S.
    Journal of The Institution of Engineers (India): Series B, 2023, 104 (01) : 241 - 257