Examining the Relationship of Code and Architectural Smells with Software Vulnerabilities

10/29/2020
by   Kazi Zakia Sultana, et al.
0

Context: Security is vital to software developed for commercial or personal use. Although more organizations are realizing the importance of applying secure coding practices, in many of them, security concerns are not known or addressed until a security failure occurs. The root cause of security failures is vulnerable code. While metrics have been used to predict software vulnerabilities, we explore the relationship between code and architectural smells with security weaknesses. As smells are surface indicators of a deeper problem in software, determining the relationship between smells and software vulnerabilities can play a significant role in vulnerability prediction models. Objective: This study explores the relationship between smells and software vulnerabilities to identify the smells. Method: We extracted the class, method, file, and package level smells for three systems: Apache Tomcat, Apache CXF, and Android. We then compared their occurrences in the vulnerable classes which were reported to contain vulnerable code and in the neutral classes (non-vulnerable classes where no vulnerability had yet been reported). Results: We found that a vulnerable class is more likely to have certain smells compared to a non-vulnerable class. God Class, Complex Class, Large Class, Data Class, Feature Envy, Brain Class have a statistically significant relationship with software vulnerabilities. We found no significant relationship between architectural smells and software vulnerabilities. Conclusion: We can conclude that for all the systems examined, there is a statistically significant correlation between software vulnerabilities and some smells.

READ FULL TEXT
research
02/13/2019

Vulnerability Prediction Based on Weighted Software Network for Secure Software Building

To build a secure communications software, Vulnerability Prediction Mode...
research
03/22/2023

Insecure by Design in the Backbone of Critical Infrastructure

We inspected 45 actively deployed Operational Technology (OT) product fa...
research
10/20/2022

PREPRINT: Do OpenSSF Scorecard Practices Contribute to Fewer Vulnerabilities?

Due to the ever-increasing security breaches, practitioners are motivate...
research
07/22/2022

Learning from what we know: How to perform vulnerability prediction using noisy historical data

Vulnerability prediction refers to the problem of identifying system com...
research
11/02/2017

Talos: Neutralizing Vulnerabilities with Security Workarounds for Rapid Response

Considerable delays often exist between the discovery of a vulnerability...
research
09/27/2022

Family-Based Fingerprint Analysis: A Position Paper

Thousands of vulnerabilities are reported on a monthly basis to security...
research
04/26/2021

Revisiting the size effect in software fault prediction models

BACKGROUND: In object oriented (OO) software systems, class size has bee...

Please sign up or login with your details

Forgot password? Click here to reset