On the Relationship between Software Complexity and Security

by   Mamdouh Alenezi, et al.

This work aims at discussing the complexity aspect of software while demonstrating its relationship with security. Complexity is an essential part of software; however, numerous studies indicate that they increase the vulnerability of the software systems and introduce bugs in the program. Many developers face difficulty when trying to understand the complex components of software. Complexity in software increases when objects in the software are used to design a more complex object while creating a hierarchical complexity in the system. However, it is necessary for the developers to strive for minimum complexity, as increased complexity introduces security risks in the software, which can cause severe monetary and reputational damage to a government or a private organization. It even causes bodily harm to human beings with various examples found in previous years where security breaches led to severe consequences. Hence it is vital to maintain low complexity and simple design of structure. Various developers tend to introduce deliberate complexities in the system so that they do not have to write the same program twice; however, it is getting problematic for the software organizations as the demands of security are continually increasing.


page 1

page 2

page 3

page 4


VulnEx: Exploring Open-Source Software Vulnerabilities in Large Development Organizations to Understand Risk Exposure

The prevalent usage of open-source software (OSS) has led to an increase...

The cross cyclomatic complexity: a bi-dimensional measure for program complexity on graphs

Reduce and control complexity is an essential practice in software desig...

Detecting Misuses of Security APIs: A Systematic Review

Security Application Programming Interfaces (APIs) play a vital role in ...

Implementation of Security Features in Software Development Phases

Security holds an important role in a software. Most people are not awar...

Software, Attacker and Asset-centric Approach for Improving Security in System Development Process

Secure development process is a procedure taken by developers to ensure ...

Exploring Technical Debt in Security Questions on Stack Overflow

Background: Software security is crucial to ensure that the users are pr...

Towards Flexible Anonymous Networks

Anonymous Communication designs such as Tor build their security upon di...

Please sign up or login with your details

Forgot password? Click here to reset