Software plays a major role in security but is also a major source of security problems. Software security does not receive enough attention in programming courses or in companies' goals. As software is used in more devices like websites, servers, and mobile devices, it becomes a larger target for attacks. To address this, software security must be a priority and developers need more training on writing secure code. Security aims to regulate access to assets by providing authentication, authorization, and auditing while software focuses on functionality, and there is often a conflict between the two.