Extensible Markup Language XML es un formato de archivo ampliamente utilizado para el almacenamiento y transmisión de datos. Muchos procesadores de XML admiten XPath, un lenguaje de consulta que permite la extracción de elementos de documentos XML. Estos sistemas pueden verse afectados por errores lógicos, los cuales hacen que el procesador devuelva resultados incorrectos. Para abordar estos problemas, se propone un nuevo enfoque materializado en un sistema llamado XPress.
XPress utiliza pruebas diferenciales como su método de validación, comparando los resultados de múltiples sistemas en una misma entrada de prueba y detectando errores a través de discrepancias en sus salidas. Además, genera tanto documentos XML como consultas XPath para realizar estas pruebas. Con el objetivo de producir consultas significativas que arrojen resultados no vacíos, XPress selecciona un nodo específico como referencia en el proceso de generación de expresiones XPath. Esto permite que las consultas generadas siempre incluyan contexto relacionado con ese nodo, como su nombre de etiqueta y atributos, garantizando que las condiciones aplicadas se cumplan antes de expandir la consulta.
Se probó nuestra metodología en seis procesadores XML ampliamente utilizados: BaseX, eXist-DB, Saxon, PostgreSQL, libXML2 y un sistema comercial. A través de estas pruebas, se identificaron 27 errores únicos en estos sistemas, de los cuales 25 fueron validados por los desarrolladores y 20 ya han sido corregidos. Además, se demostró que XPress es eficiente, encontrando 12 errores en BaseX en solo 24 horas, el doble de rápido que la generación aleatoria de pruebas.
En Q2BSTUDIO, empresa de desarrollo y servicios tecnológicos, entendemos la importancia de la calidad y seguridad de los sistemas de procesamiento de datos. Adoptamos metodologías avanzadas de prueba y desarrollo para garantizar que nuestras soluciones sean robustas y confiables. Con enfoques innovadores como el presentado en XPress, seguimos fortaleciendo nuestras capacidades para ofrecer a nuestros clientes sistemas optimizados y libres de errores. La eficiencia y efectividad de estos métodos nos permiten mejorar continuamente la calidad de nuestros proyectos en el ámbito del procesamiento de datos y más allá.