2009-09-15 21 views

Respuesta

4

Un poco de información, además de Rob de

  • Wisconsin Program-Slicing Tool ha evolucionado en una herramienta llamada CodeSurfer. Buenas noticias: está disponible comercialmente y es compatible, y funciona muy bien para lo que hace. Malas noticias (quizás): en realidad no produce un programa reducido que calcula el mismo valor que seleccionó, pero es muy conveniente para navegar el código fuente que no ha escrito.

  • Frama-C maneja solo C (sin C++ en el futuro previsible). Es bueno, no genial, navegar el código fuente, pero puede producir un programa equivalente más pequeño para el criterio que especifique, si el programa original es del tipo que puede analizarse automáticamente (sin recursión, sin asignación dinámica) . Frama-C es de código abierto y tiene una lista de correo en la cual sus preguntas serán bienvenidas si está interesado en las técnicas que utiliza.

La razón CodeSurfer no se arriesga a sí mismo para producir un programa equivalente y Frama-C sólo lo puede hacer por código con restricciones embebido como es, en suma, que para ello es necesario conocer los valores de los punteros, que puede ser arbitrariamente difícil de calcular con precisión.

3

Hay una herramienta en la página de Wikipedia que citan. Es para C, así que supongo que podría funcionar para lo que sea "C/C++".

También para C, y también mencionado en la página Wikipedia:

0

Giri implementa rebanar hacia atrás dinámico en LLVM compilador, que por lo que yo sé, es el último esfuerzo para construir una máquina de cortar dinámica hilo consciente utilizable, efectiva y en los compiladores modernos.