Noticias que mencionan Z3

IA facilita verificación de código Python

Investigadores han desarrollado 'a3-python', una herramienta de verificación de programas para Python impulsada por inteligencia artificial. Python, a pesar de su amplio uso tanto por humanos como por modelos de lenguaje grandes (LLMs), ha sido históricamente difícil de verificar formalmente. El equ

Z3: resuelve problemas complejos con esta herramienta

Hillel Wayne ha publicado una serie de scripts de ejemplo utilizando Z3, un potente solucionador SMT (Satisfiability Modulo Theories). Z3 es una herramienta que puede resolver problemas matemáticos y de programación, encontrando soluciones que satisfacen un conjunto de ecuaciones y restricciones. Wa

Herramienta facilita verificación de código RISC-V

Un desarrollador ha presentado una nueva herramienta llamada "Knuckledragger" para simplificar la verificación de código ensamblador RISC-V. La herramienta aborda la complejidad inherente a la verificación de ensamblador, un proceso propenso a errores y con herramientas limitadas, especialmente en e

z3: resuelve problemas complejos con lógica

Este artículo introduce a `z3`, un solucionador de restricciones (o demostrador de teoremas) que permite resolver problemas complejos mediante la definición de reglas y restricciones. Aunque el autor es un principiante en el tema, la explicación busca ser accesible y didáctica, evitando la jerga téc

Verus: Nueva herramienta verifica código Rust

Investigadores han presentado Verus, una nueva herramienta diseñada para verificar la corrección del código escrito en Rust. El objetivo principal es asegurar la funcionalidad completa de código de sistemas de bajo nivel, basándose en principios de lenguajes de verificación existentes como Dafny, Bo

Spectre: lenguaje con contratos para desarrollo seguro de bajo nivel

Spectre es un nuevo lenguaje de programación diseñado para el desarrollo seguro de sistemas de bajo nivel mediante el uso de contratos. El lenguaje permite definir invariantes a nivel de tipo y precondiciones y postcondiciones a nivel de funciones, ofreciendo seguridad a través de inmutabilidad por

Cómo los hackers invierten los generadores de números aleatorios

El canal de YouTube Zanzlanz publicó un vídeo divulgativo de algo más de 15 minutos en el que explica, paso a paso, cómo funcionan los generadores de números pseudoaleatorios empleados por los navegadores y juegos —entre ellos Flash— y cómo pueden invertirse para predecir resultados futuros o recupe

Hexágonos mágicos de cualquier orden: un avance con IA y matemáticas

Un programador aficionado ha logrado construir hexágonos mágicos anormales para todos los órdenes hasta n=21, un avance que supera con creces la mejor solución previa conocida, un hexágono de orden 9 descubierto en 2024 por Klaus Meffert. Un hexágono mágico es una cuadrícula hexagonal en la que cada

RAPx: plataforma de análisis estático para Rust con verificación formal

RAPx (Rust Analysis Platform with Extensions) es una plataforma avanzada de análisis estático para programas escritos en Rust. Ofrece un marco extensible que va más allá del compilador rustc estándar y permite a las desarrolladoras razonar con mayor profundidad sobre seguridad, robustez y rendimient

Síntesis de programas sin bucles con Rust y Z3

La síntesis de programas es el proceso automático de encontrar código que cumpla una especificación dada, un desafío computacionalmente complejo debido al espacio de búsqueda exponencial. Este artículo técnico detalla una aproximación moderna basada en la síntesis iterativa guiada por contraejemplos

Métodos formales con Z3 para auditar permisos de agentes de IA

El equipo OpenShell ha desarrollado un enfoque basado en métodos formales para garantizar que los sistemas de agentes de inteligencia artificial no superen los permisos autorizados por los operadores humanos. A medida que los agentes se vuelven más autónomos y realizan tareas de larga duración, la s

Indicar técnicas de testing a agentes de IA no mejora la calidad del código

Un experimento reciente evaluó si indicar a los agentes de codificación que utilizasen técnicas concretas de pruebas o verificación —como desarrollo dirigido por pruebas (TDD), métodos formales, fuzzing o pruebas basadas en propiedades— mejoraba la corrección de sus implementaciones. La prueba reuti