This document discusses the relationship between software complexity and security. It notes that while complexity is an essential part of software, numerous studies have shown that increased complexity can introduce bugs and vulnerabilities. The document provides an extensive literature review on the topics of software complexity, sources of vulnerabilities, and reasons for the growing number of disclosed vulnerabilities. It argues that complexity is one of the main reasons for vulnerabilities in software systems and that maintaining low complexity and simple designs is vital for security.