En la actualidad, el aumento en el desarrollo de nanosatélites ha planteado –entre otros aspectos– la necesidad de mejorar la calidad del software de vuelo que utilizan y así poder hacer frente a los desafíos que plantean los requerimientos ágiles de las nuevas misiones. Tomando este problema como punto de partida, el profesor del DCC, Alexandre Bergel, junto con la estudiante de Magíster en Ciencias mención Computación, Tamara Gutiérrez, desarrollaron el artículo científico "Systematic Fuzz Testing Techniques on a Nanosatellite Flight Software for Agile Mission Development", el cual presenta un análisis de la aplicación de técnicas de fuzzing para testear el software de vuelo de las misiones SUCHAI, nanosatélites desarrollados en la Facultad de Ciencias Físicas y Matemáticas (FCFM) de la Universidad de Chile.
Este trabajo fue aceptado en la Revista IEEE Access, publicación que, según cuenta Tamara Gutiérrez, está dedicada a la ingeniería con un enfoque "multidisciplinario, de acceso abierto y centrada en la investigación aplicada. Cubre todos los temas de intereses del IEEE. Actualmente su factor de impacto es de 3.367 (ISI-Indexed)".
Sobre el artículo, Tamara Gutiérrez explica que las técnicas de ingeniería de software más comúnmente aplicadas para testear un nanosatélite son las llamadas unit testing o hardware-in-the-loop simulation, siendo esta última la más popular, pero con mayor enfoque en el testeo de hardware que de software. Agrega que existen otras técnicas más avanzadas y más beneficiosas como las técnicas de fuzzing, sobre las cuales explica: "Es una técnica automatizada que, en palabras simples, consiste en introducir entradas aleatorias a un programa con el fin de descubrir fallas que pueden no haber sido cubiertas por técnicas de testing tradicionales. Dentro del estado del arte, esto algo que no se ha probado para los nanosatélites y que proponemos como solución para testear el software de vuelo de las misiones SUCHAI y otros nanosatélites que han sido y siguen siendo desarrollados en el Laboratorio Space and Planetary Exploration Laboratory (SPEL), del Departamento de Ingeniería Eléctrica de la FCFM", explica la estudiante.
En esta línea, destaca que el testing aplicado al software de vuelo es un campo todavía incipiente, dado que existen pocos registros en la literatura y tampoco se han propuesto antes prácticas de testing de bajo costo o ágiles. "El software de vuelo en general es un componente fundamental y las técnicas para mejorar su robustez merecen ser analizadas y reportadas en detalle. Según lo que hemos investigado, nuestra publicación es una de las primeras en su tipo. A pesar de que dentro del campo de ingeniería de software se han creado numerosas técnicas, incluyendo fuzz testing, no hay reportes de haber sido probada en software de vuelo para nanosatélites. A partir de este estudio entregamos una caracterización de las fallas encontradas dentro del software y también damos luces de la aplicabilidad de esta técnica para otras misiones", concluye Tamara Gutiérrez.
--
Comunicaciones DCC