امنیت برنامه شامل اقدامات برای بهبود امنیت یک برنامه است که اغلب با یافتن، رفع و جلوگیری از آسیبپذیریهای امنیتی انجام میشود. در سطوح مختلف چرخه حیات برنامهها مانند طراحی، توسعه، گسترش، ارتقا، نگهداری، تکنیکهای مختلفی برای آشکارسازی چنین آسیبپذیریهای امنیتی استفاده میشود.
روشهای مختلف، زیرمجموعههای مختلف آسیبپذیریهای امنیتی را که در انتظار یک برنامه هستند، پیدا میکنند و در دورههای مختلف چرخه حیات نرمافزار بسیار مؤثر هستند. هر یک نشان دهنده مبادلههای مختلف زمان، تلاش، هزینه و آسیبپذیریهای یافت شدهاست.