Técnicas automáticas para el análisis y mejora de la fiabilidad y del rendimiento de software crítico y complejo