El análisis estático y los compiladores proporcionan advertencias que se utilizan para mejorar la calidad del código y sirven como un primer método para identificar problemas antes de la ejecución y la depuración. Un compilador utiliza análisis estático durante la compilación para generar advertencias, pero la calidad y el alcance de los diagnósticos son limitados y pueden variar.