Visión general
De qué trata este proyecto.
Implementa un motor de ejecución simbólica para un subset de C en Python con Z3 y obtén un certificado verificable.
El escenario
El grupo (financiado parcialmente por CDTI y proyectos europeos) ya descartó usar KLEE como base por su curva de aprendizaje y porque su objetivo final requiere modificar el motor a niveles que KLEE hace difícil.
El Briefing
Lo que harás y lo que demostrarás.
Construir un motor didáctico de ejecución simbólica sobre un subset de C que sirva como base para tesis y curso, con cobertura razonable y código claramente extensible.
Earning criteria — what you'll demonstrate
- Implementar ejecución simbólica de extremo a extremo
- Usar Z3 con teorías SMT relevantes (bitvectors, arrays)
- Comparar honestamente contra una herramienta madura como KLEE
- Documentar un motor de forma que terceros puedan extenderlo
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Program Analysis
Master · Programming Languages
Strong alignment
This challenge maps to Program Analysis at the Master level. It sharpens the same practical skills your coursework expects — but in a real industry context with actual constraints and deliverables.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
- Symbolic Execution
Apply symbolic execution to solve real industry problems and demonstrate production-level capability.
- Program Analysis
Apply program analysis to solve real industry problems and demonstrate production-level capability.
- Smt Solving
Apply smt solving to solve real industry problems and demonstrate production-level capability.
- Compiler Design
Apply compiler design to solve real industry problems and demonstrate production-level capability.
- Python
Write clean, efficient Python for data processing, automation, and backend services.
- Bug Finding
Apply bug finding to solve real industry problems and demonstrate production-level capability.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Ingeniero de Software
Implementar ejecución simbólica con SMT es una pieza de portafolio que abre roles en developer tools, compiladores y bug-finding industrial.
Este proyecto afina
- symbolic-execution
- smt-solving
- compiler-design