Ideas & Insights

Explorando desarrollo AI-first, guardrails de código y la arquitectura de la descartabilidad.

Los LLMs pueden sugerir metamorphic relations. Simplemente no pueden garantizarlas.

Los large language models son socios de lluvia de ideas decentes para descubrir test oracles, pero alucinan propiedades y omiten restricciones de dominio. Así es cómo usarlos sin desplegar pruebas falsas.

Necesitas probar una función donde la salida correcta es imposible de conocer de antemano. Un optimizador de rutas. Un clasificador de sentimiento. Una…

La mayoría de las metamorphic relations son inútiles. Así es cómo elegir las buenas.

No todas las metamorphic relations atrapan bugs. Las relaciones débiles dan una falsa confianza mientras que las fuertes encuentran fallas reales. Así es cómo distinguir la diferencia y construir un conjunto de relaciones que realmente funcione.

Escribiste doce metamorphic relations para tu motor de precios. Cada prueba pasa. Te sientes bien con tu cobertura. Luego un cliente reporta que los descuentos…

OpenAPI te da el alfabeto. Los session types necesitan la gramática.

Las especificaciones OpenAPI describen los esquemas de petición y respuesta, pero no especifican las secuencias de mensajes válidas. Así es como extraer lo que puedes y dónde aún necesitas llenar los vacíos.

Las especificaciones OpenAPI te dicen cómo se ve una petición válida y cómo se ve una respuesta válida. No te dicen si puedes llamar a antes de , o qué ocurre…

Los tipos de sesión funcionan. La mayoría de lenguajes simplemente se negaron a implementarlos.

Los tipos de sesión codifican protocols de comunicación en el sistema de tipos, convirtiendo errores de protocol en tiempo de ejecución en fallos en tiempo de compilación. Aquí está por qué pasaron treinta años en artículos de investigación antes de que el código de producción pudiera usarlos.

Los tipos de sesión se inventaron en 1993. Treinta años después, la mayoría de los servicios en red siguen validando el estado del protocol con comprobaciones…

Los LLM pueden ordenar tus advertencias de análisis estático. Simplemente no pueden explicar por qué.

Los large language models pueden ayudar a triagear falsos positivos del análisis estático, pero no entienden la semántica del programa como lo hace la interpretación abstracta. Así es como combinar ambos.

Tu analizador estático acaba de emitir 847 advertencias en una tarde de viernes. Sabes, estadísticamente, que entre el 5% y el 15% de ellas son bugs reales. El…