La programación segura es una rama de la programación que estudia la seguridad del código fuente de un software cuyo objetivo es encontrar y solucionar los errores de software, esto incluye: Utilización de funciones seguras para proteger de desbordamientos de pila, declaración segura de estructuras de datos, control del trabajo con el flujo de datos, análisis profundo de otros errores de software mediante testeos del software en ejecución y creación de parches para los mismos, diseño de parches heurísticos y metaheurísticos para proveer un cierto grado de seguridad proactiva, utilización de criptografía y otros métodos para evitar que el software sea crackeado.