← Últimos artículos
💻 computer science

Correctness, confidence, and context: Framing software assurance in the AI age

El artículo sostiene que la naturaleza estadística de la IA generativa, que se basa en predicciones probabilísticas en lugar de un rigor formal y tiene dificultades para capturar el contexto tácito humano, requiere un enfoque de ingeniería sistemático para replantear la garantía de software, pasando de las especificaciones de código al desarrollo de combinaciones razonables y rentables de técnicas que aseguren la aptitud de un sistema para su propósito.

Autores originales: Mary Shaw

Publicado 2026-07-17
📖 7 min de lectura🧠 Análisis profundo

Autores originales: Mary Shaw

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

El Gran Acertijo del Software: Por qué lo "Perfecto" no es el Objetivo

Imagina que estás construyendo un castillo gigante e invisible hecho de lógica e instrucciones. Esto es lo que los ingenieros de software hacen todos los días. Escriben código para hacer que las computadoras hagan cosas, desde pedir una pizza hasta volar aviones. Durante mucho tiempo, el sueño fue construir estos castillos de forma tan perfecta que nunca, jamás, pudieran cometer un error. Los ingenieros querían demostrar matemáticamente que cada uno de los ladrillos estaba en su lugar correcto. Pero aquí está el detalle: el mundo real es desordenado. Está lleno de reglas no escritas, hábitos culturales y "sentido común" que no puedes plasmar en una lista de instrucciones.

Ahora, imagina que ha llegado un nuevo tipo de ayudante: la Inteligencia Artificial (IA). Esta IA es increíblemente inteligente para adivinar qué viene después, como un adivinador superrápido que ha leído casi todos los libros jamás escritos. Pero a diferencia de los ingenieros de la vieja escuela que querían demostrar que las cosas eran correctas, esta IA trabaja con probabilidades. Ella dice: "Estoy un 90% segura de que esta es la respuesta correcta", en lugar de "Sé con certeza que esta es la respuesta correcta". Esto crea un gran problema: ¿Cómo confiamos en un sistema construido sobre conjeturas cuando necesitamos que sea seguro? Este es el acertijo que Mary Shaw está abordando. Ella quiere cambiar nuestra forma de entender la "corrección" en el software, alejándonos del sueño imposible de la perfección y moviéndonos hacia un enfoque más práctico y propio de un ingeniero: asegurar que las cosas sean "suficientemente buenas" para el trabajo que deben realizar.


La Gran Idea del Artículo: De lo "Perfecto" a lo "Suficientemente Bueno"

En esta presentación magistral para ingenieros de software, Mary Shaw sostiene que debemos dejar de intentar demostrar que nuestro software es 100% perfecto y empezar a enfocarnos en si es apto para su propósito. Ella sugiere que la vieja forma de pensar —intentar escribir un conjunto perfecto de reglas para demostrar que un programa es correcto— está rota, especialmente ahora que estamos utilizando IA.

Esta es la historia de su argumento, desglosada en partes sencillas:

1. El Problema de la Sombra: Lo que la IA no puede ver

Imagina que intentas describir un objeto complejo, como una taza de papel plegable, a un amigo que nunca ha visto una. Solo puedes mostrarle las sombras que proyecta en una pared. Desde el frente, la sombra parece un cuadrado. Desde el lado, parece un triángulo. Desde arriba, parece un círculo. Si solo tuvieras las sombras, podrías suponer que es un bloque extraño, pero pasarías por alto el hecho de que es una taza que puede contener agua.

Shaw dice que los modelos de IA son como ese amigo que mira las sombras. Han sido entrenados con "sombras digitales": el texto, el código y los datos que existen en línea. Pero el mundo real está lleno de conocimiento tácito: cosas que sabemos pero que no escribimos. Esto incluye la "vibra" de un lugar de trabajo, las reglas no escritas de una cultura o el presentimiento de un mecánico experimentado cuando escucha un ruido extraño en un motor. Debido a que este conocimiento no está escrito, la IA no puede verlo. Solo ve la sombra, no el objeto real. Cuando la IA intenta construir software, puede pasar por alto estos detalles cruciales e invisibles, lo que conduce a errores que un experto humano habría detectado de inmediato.

2. El "Culto al Cargo" de la Programación

Shaw cuenta la historia de personas en islas que vieron aterrizar aviones con comida durante una guerra. Cuando la guerra terminó y los aviones dejaron de venir, los lugareños construyeron torres de control de bambú y marcharon en formación, con la esperanza de convocar a los aviones de nuevo. Copiaron las sombras de la actividad (las marchas, las torres) pero perdieron de vista la causa real (la logística y la programación militar).

Ella advierte que usar la IA para escribir código puede convertirse a veces en un "culto al cargo". Podríamos pedirle a la IA que escriba código que parezca correcto (la sombra) sin comprender las razones profundas de por qué el código debe ser de esa manera. Si solo pedimos "programación de vibra" (escribir código basado en un sentimiento o un simple comando o prompt) sin entender las reglas ocultas, podríamos construir sistemas que se ven bien pero que se desmoronan cuando ocurren problemas del mundo real.

3. Las "Credenciales" en lugar de las "Especificaciones"

Tradicionalmente, los ingenieros intentan escribir una "especificación" perfecta: un libro de reglas gigante y rígido que dice exactamente qué debe hacer el software. Shaw sugiere que esto es imposible porque el mundo cambia y no podemos predecirlo todo.

En su lugar, propone que tratemos al software como a una persona que solicita un empleo. No necesitamos toda la historia de su vida; solo necesitamos sus credenciales.

  • Un buceador muestra una tarjeta que dice: "Puedo bucear a 30 metros".
  • Un piloto muestra una licencia que dice: "Puedo volar este avión".
  • Un sistema de software debería mostrar una "credencial" que diga: "Tengo un 90% de confianza en que puedo manejar a 1,000 usuarios", o "He sido probado para ser seguro para esta tarea específica".

Estas credenciales no son pruebas perfectas; son declaraciones honestas sobre qué tan seguros estamos, de dónde proviene esa confianza y cuáles son los límites. Es una forma de decir: "Revisamos esto, y así es como de seguros estamos".

4. La Elección del Ingeniero: El "Satisficing"

El artículo sugiere que debemos dejar de intentar ser perfectos y empezar a practicar el satisficing (o la satisfacción de requisitos mínimos). Esta es una palabra elegante para "encontrar una solución que sea suficientemente buena".

  • Si estás construando un juego, es posible que no necesites la perfección del 100%. Unos pocos errores están bien si el juego es divertido y económico de producir.
  • Si estás construando un dispositivo médico, necesitas un nivel de confianza mucho más alto.

Shaw argumenta que los ingenieros deben actuar como verdaderos ingenieros: deben observar el costo, el riesgo y el propósito, y luego elegir la mezcla adecuada de herramientas para realizar el trabajo. A veces, es más barato corregir un problema después de que ocurre que intentar evitar que ocurra para siempre. El objetivo no es eliminar todos los errores (lo cual es imposible); el objetivo es gestionar el riesgo para que el sistema sea seguro y útil para su trabajo específico.

Qué significa esto para el futuro

Mary Shaw no está diciendo que la IA sea mala. Está diciendo que no podemos tratar a la IA como una varita mágica que lo resuelve todo. Necesitamos ser más inteligentes sobre cómo la usamos. Necesitamos aceptar que la IA trabaja con conjeturas (estadística) y que no puede ver las "sombras" invisibles de la cultura y la experiencia humana.

Su mensaje principal es un llamado a la acción para la comunidad del software: Dejemos de pretender que podemos demostrar que todo es perfecto. En su lugar, seamos ingenieros honestos. Construyamos sistemas donde sepamos exactamente de qué estamos seguros, en qué no lo estamos y por qué. Al hacer esto, podemos usar la IA para ayudarnos a construir un mejor software, sin caer en la trampa de pensar que hemos resuelto lo irresoluble.

En resumen, el artículo sugiere que el futuro del software no se trata de ser "correcto" en el sentido de un libro de texto de matemáticas. Se trata de ser apto para su propósito, conocer nuestros límites y tomar decisiones inteligentes y rentables para mantener nuestro mundo digital funcionando de forma segura.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →