2025-11-23T21:58:17.757337

Towards Richer Challenge Problems for Scientific Computing Correctness

Sottile, Tekriwal, Sarracino
Correctness in scientific computing (SC) is gaining increasing attention in the formal methods (FM) and programming languages (PL) community. Existing PL/FM verification techniques struggle with the complexities of realistic SC applications. Part of the problem is a lack of a common understanding between the SC and PL/FM communities of machine-verifiable correctness challenges and dimensions of correctness in SC applications. To address this gap, we call for specialized challenge problems to inform the development and evaluation of FM/PL verification techniques for correctness in SC. These specialized challenges are intended to augment existing problems studied by FM/PL researchers for general programs to ensure the needs of SC applications can be met. We propose several dimensions of correctness relevant to scientific computing, and discuss some guidelines and criteria for designing challenge problems to evaluate correctness in scientific computing.
academic

Hacia Problemas de Desafío Más Ricos para la Corrección en Computación Científica

Información Básica

  • ID del Artículo: 2510.13423
  • Título: Towards Richer Challenge Problems for Scientific Computing Correctness
  • Autores: Matthew Sottile, Mohit Tekriwal, John Sarracino (Lawrence Livermore National Laboratory)
  • Clasificación: cs.SE cs.MS
  • Conferencia de Publicación: International Workshop on Verification of Scientific Software (VSS 2025), EPTCS 432
  • Enlace del Artículo: https://arxiv.org/abs/2510.13423

Resumen

La corrección en computación científica (CC) ha recibido una atención cada vez mayor en las comunidades de métodos formales (MF) y lenguajes de programación (LP). Las técnicas de verificación existentes en LP/MF enfrentan dificultades al abordar la complejidad de las aplicaciones reales de computación científica. Parte del problema radica en la falta de comprensión común entre las comunidades de CC y LP/MF respecto a los desafíos de corrección verificables por máquina y las dimensiones de corrección en aplicaciones de CC. Para cerrar esta brecha, los autores hacen un llamado al establecimiento de problemas de desafío especializados que guíen el desarrollo y evaluación de técnicas de verificación FM/LP en CC. Estos desafíos especializados tienen como objetivo mejorar los problemas de programación genéricos existentes estudiados por investigadores de MF/LP, garantizando que satisfagan las necesidades de las aplicaciones de CC.

Antecedentes de Investigación y Motivación

Problemas a Resolver

  1. Brecha de Comprensión Intercomunitaria: Falta de entendimiento común entre la comunidad de computación científica y la comunidad de métodos formales/lenguajes de programación respecto a los desafíos de corrección
  2. Limitaciones de Técnicas de Verificación Existentes: Las técnicas de verificación LP/MF actuales tienen dificultades para manejar la complejidad de aplicaciones reales de computación científica
  3. Insuficiencia de Problemas de Desafío: Carencia de conjuntos de problemas de desafío estandarizados específicamente para la corrección en computación científica

Importancia del Problema

Las aplicaciones de computación científica involucran múltiples niveles de complejidad incluyendo cálculos numéricos complejos, procesamiento paralelo y modelado físico. Su corrección afecta directamente la confiabilidad de los resultados de investigación científica. Los métodos tradicionales de verificación de software frecuentemente no cubren adecuadamente los requisitos de corrección específicos de la computación científica.

Limitaciones de Enfoques Existentes

  • Los problemas de desafío de verificación formal existentes se orientan principalmente hacia programas genéricos, careciendo de la complejidad específica de la computación científica
  • Aunque la comunidad de verificación numérica tiene trabajos relacionados, carece de un conjunto unificado de problemas de desafío
  • Los conjuntos de pruebas de referencia existentes se enfatizan principalmente en rendimiento en lugar de corrección

Motivación de Investigación

Tomando como referencia el éxito de los conjuntos de pruebas de rendimiento en computación de alto rendimiento (como NAS Parallel Benchmarks, Mantevo, etc.), establecer un marco de problemas de desafío similar para la corrección en computación científica.

Contribuciones Principales

  1. Proposición de Seis Dimensiones de Corrección en Computación Científica: Cálculo numérico, estructuras de datos, estructuras de modelado de dominio, ecuaciones diferenciales, concurrencia y paralelismo, esquemas de aproximación
  2. Identificación de Trampas Clave en el Diseño de Problemas de Desafío: Especialización excesiva, problemas "de juguete", negligencia de características únicas de la computación científica, etc.
  3. Establecimiento de Distinciones entre Problemas de Desafío y Pruebas de Referencia: Los problemas de desafío definen objetivos y criterios de evaluación, mientras que las pruebas de referencia proporcionan medidas objetivas
  4. Provisión de Principios Directrices de Diseño: Consideración de incertidumbre, separación de matemáticas e implementación, permisión de suposiciones no verificadas, etc.

Detalles Metodológicos

Definición de Tareas

Este artículo es un documento de posición (position paper) que tiene como objetivo establecer un marco integral de problemas de desafío para la corrección en computación científica, en lugar de proponer métodos técnicos específicos.

Diseño del Marco

Clasificación de Dimensiones de Corrección

Los autores dividen la corrección en computación científica en tres niveles de abstracción:

  • Nivel Bajo: Cálculo numérico, estructuras de datos tradicionales
  • Nivel Medio: Estructuras de datos y cálculos específicos del modelo
  • Nivel Alto: Abstracciones matemáticas, invariantes de sistemas físicos

Seis Dimensiones Principales

  1. Cálculo Numérico (Numerics)
    • Correspondencia correcta entre operaciones matemáticas e implementación en hardware/software
    • Problemas de precisión en aritmética de punto flotante
    • Desafíos de algoritmos de precisión mixta
  2. Estructuras de Datos (Data Structures)
    • Corrección de estructuras de datos estándar
    • Transformaciones de estructura causadas por optimización de rendimiento (como conversiones SOA a AOS)
    • Garantía de equivalencia semántica
  3. Estructuras de Modelado de Dominio (Domain-modeling Structures)
    • Estructuras de datos complejas como mallas y grafos
    • Satisfacción de restricciones de sistemas físicos
    • Leyes de conservación e invariantes de alto nivel
  4. Ecuaciones Diferenciales (Differential Equations)
    • Consistencia entre EDP y modelado físico
    • Estabilidad numérica, compatibilidad de condiciones de frontera
    • Planteamiento correcto (well-posedness)
  5. Concurrencia y Paralelismo (Concurrency and Parallelism)
    • Combinación de múltiples modelos de programación paralela
    • Paralelismo de memoria compartida, vectorización, memoria distribuida
    • Equilibrio entre rendimiento y corrección
  6. Esquemas de Aproximación (Approximation Schemes)
    • Métodos heurísticos de algoritmos
    • Métodos de interpolación
    • Distinción respecto a métodos numéricos

Puntos de Innovación Técnica

  1. Integración Multinivel de Abstracción: Primera sistematización de problemas de corrección en computación científica desde detalles de implementación de bajo nivel hasta restricciones físicas de alto nivel en un marco unificado
  2. Función de Puente Comunitario: Establecimiento de lenguaje común entre la comunidad de métodos formales y la comunidad de computación científica
  3. Orientación Práctica: Evitar excesiva teorización, enfocarse en requisitos de corrección en aplicaciones reales

Configuración Experimental

Como documento de posición, este artículo no incluye configuración experimental en el sentido tradicional, sino que respalda sus argumentos mediante análisis de conjuntos de pruebas de referencia existentes y problemas de desafío.

Objetos de Análisis

  • Pruebas de Rendimiento: NAS Parallel Benchmarks, Mantevo, Salishan problems, Shonan challenge
  • Desafíos de Corrección: VerifyThis, NSV-3 benchmarks, Gallery of Verified Programs
  • Pruebas Especializadas: FPbench, DataRaceBench, SPEC

Criterios de Evaluación

Los autores proponen características que los problemas de desafío deben poseer:

  • Cobertura de múltiples dimensiones de corrección
  • Evitar especialización excesiva
  • Relevancia con aplicaciones reales
  • Enfoque en necesidades únicas de computación científica

Resultados Experimentales

Análisis del Estado Actual

Los autores descubren que los problemas de desafío existentes presentan las siguientes deficiencias:

  1. Cobertura Insuficiente: Carencia de algoritmos de grafos, representaciones de matrices dispersas complejas, etc.
  2. Estructuras de Datos Simples: Cobertura insuficiente de representaciones complejas de matrices dispersas más allá de CSR básico
  3. Dominios Matemáticos Incompletos: Cobertura insuficiente de dominios matemáticos fundamentales

Casos de Éxito para Referencia

Evolución histórica de pruebas de rendimiento:

  • Linpack → Livermore Loops → NAS Parallel Benchmarks → Mantevo
  • Aumento gradual de complejidad, desde álgebra lineal simple hasta código de aplicación completo
  • Métricas de evaluación expandidas de rendimiento puro a corrección y escalabilidad

Trabajo Relacionado

Desarrollo de Pruebas de Rendimiento

  • Pruebas Tempranas: Linpack enfocado en rendimiento de operaciones de punto flotante
  • Núcleos de Bucles: Livermore Loops prueba patrones computacionales específicos
  • Pruebas Paralelas: NAS Parallel Benchmarks introduce consideraciones de paralelismo
  • Orientación a Aplicaciones: Mantevo proporciona mini-aplicaciones cercanas a aplicaciones reales

Desafíos de Verificación de Corrección

  • Verificación Genérica: Competencias como VerifyThis proporcionan desafíos fundamentales
  • Verificación Numérica: coq-num-analysis, Mathematical Components Library
  • Dominios Especializados: FPbench (punto flotante), DataRaceBench (carreras de datos)

Verificación y Validación (V&V)

  • Principios directrices ASME V&V proporcionan estándares de verificación y validación para disciplinas de ingeniería
  • Distinción entre problemas de verificación (verification) y validación (validation)

Conclusiones y Discusión

Conclusiones Principales

  1. La corrección en computación científica requiere problemas de desafío especializados para impulsar el desarrollo de métodos formales
  2. Los problemas de desafío deben atravesar niveles de abstracción computacional, integrando implementación de bajo nivel y restricciones de dominio de alto nivel
  3. Es necesario evitar especialización excesiva y problemas "de juguete", enfocándose en relevancia con aplicaciones reales

Limitaciones

  1. Naturaleza Teórica: Como documento de posición, carece de instancias concretas de problemas de desafío
  2. Complejidad de Implementación: Establecer un conjunto integral de problemas de desafío requiere colaboración interdisciplinaria
  3. Criterios de Evaluación: Cómo evaluar objetivamente la calidad de los problemas de desafío requiere investigación adicional

Direcciones Futuras

  1. Colaboración con expertos en computación científica y métodos formales para diseñar problemas de desafío concretos
  2. Establecimiento de marco de evaluación estandarizado y métricas
  3. Consideración de integración de cuantificación de incertidumbre y modelado estadístico
  4. Extensión a problemas de verificación y validación (V&V)

Evaluación Profunda

Fortalezas

  1. Identificación Precisa del Problema: Identifica con precisión los desafíos clave en la verificación de corrección en computación científica
  2. Sistematicidad del Marco: El marco de dimensiones de corrección propuesto posee excelente sistematicidad e integridad
  3. Orientación Práctica: Evita discusiones puramente teóricas, enfocándose en necesidades de aplicaciones reales
  4. Perspectiva Interdisciplinaria: Conecta efectivamente las comunidades de métodos formales y computación científica
  5. Aprendizaje Histórico: Extrae experiencias valiosas de la historia de desarrollo de pruebas de rendimiento

Insuficiencias

  1. Carencia de Instancias Concretas: No proporciona ejemplos específicos de problemas de desafío para validar la viabilidad del marco
  2. Ruta de Implementación Poco Clara: Carece de planificación detallada sobre cómo transitar del marco teórico a conjuntos de problemas de desafío prácticos
  3. Mecanismo de Evaluación Faltante: Carece de mecanismos específicos para evaluar la calidad y efectividad de los problemas de desafío
  4. Aceptación Comunitaria Desconocida: El grado de aceptación y disposición de participación de ambas comunidades en este marco es desconocido

Impacto

  1. Valor Académico: Proporciona un marco teórico importante para la investigación de corrección en computación científica
  2. Potencial Práctico: Tiene potencial para impulsar el desarrollo de técnicas de verificación formal más prácticas
  3. Construcción Comunitaria: Puede promover colaboración profunda entre las comunidades de computación científica y métodos formales
  4. Significado a Largo Plazo: Proporciona nuevas direcciones de investigación para garantía de calidad de software en computación científica

Escenarios de Aplicación

  1. Guía de Investigación: Proporciona direcciones de investigación en aplicaciones de computación científica para investigadores de métodos formales
  2. Desarrollo de Herramientas: Guía el diseño y evaluación de herramientas de verificación de computación científica
  3. Educación y Capacitación: Proporciona marco sistemático para educación en corrección de computación científica
  4. Formulación de Estándares: Proporciona referencia para formulación de estándares de calidad de software en computación científica

Referencias

El artículo cita 26 referencias importantes que abarcan:

  • Pruebas de Rendimiento: NAS Parallel Benchmarks 7,8, Mantevo 11, Linpack 14
  • Verificación Formal: Gallery of Verified Programs 1,17, VerifyThis 20
  • Verificación Numérica: coq-num-analysis 6, Mathematical Components 2
  • Pruebas Especializadas: FPbench 12, DataRaceBench 21, SPEC 13
  • Estándares V&V: Principios Directrices ASME 18

Aunque este artículo es un documento de posición, proporciona un marco teórico importante y dirección de desarrollo para el campo de verificación de corrección en computación científica. Su marco de seis dimensiones de corrección propuesto y principios directrices de diseño tienen significado importante para impulsar el desarrollo de este campo, pero requiere trabajo posterior para implementar y validar concretamente estas ideas.