El autor del blog The Boston Diaries sometió a DeepWiki, un servicio que genera documentación automática de repositorios de GitHub, a una prueba con dos proyectos propios en C: mod_blog, un módulo de blogging de 7.400 líneas con 26 años de refinamiento, y a09, un ensamblador para el procesador Motorola 6809 de 9.500 líneas y mayor complejidad ciclomática. El resultado con mod_blog fue razonablemente bueno: la documentación alcanzó unas 30 páginas, identificó correctamente capas como Entry, Processing, Rendering, Storage y Configuration, y acertó con detalles técnicos como el comportamiento de la función cmd_cgi_get_today(). Entre los errores menores destacan decir que el sistema consta de tres capas principales cuando el diagrama muestra cinco, confundir la ubicación de la comprobación de la variable BLOG_CONFIG, o atribuir la salida a RSS 2.0 cuando en realidad es RSS 0.91. La revisión sirvió además para descubrir dos bugs reales en el código, uno relacionado con el mecanismo de bloqueo de archivos y otro por usar una constante literal en lugar de una definida. Con a09, en cambio, los problemas fueron mucho más graves. La documentación clasifica erróneamente los códigos de error, describe mal la detección de código muerto, omite que el fichero de listado se elimina cuando hay errores, invierte los marcadores de soporte en una tabla de backends de salida y, en algunos casos, parece directamente inventarse los datos. El autor atribuye el peor resultado a la mayor complejidad ciclomática de a09, que probablemente agota la ventana de contexto del modelo y provoca confabulaciones. DeepWiki, según su experiencia, resulta funcional como interfaz —incluso sin JavaScript— y útil por los enlaces al código fuente al final de cada sección, pero adolece de diagramas incoherentes en tamaño y diseño y de repeticiones excesivas de contenido. La conclusión es clara: aunque la herramienta promete analizar código heredado sin documentación, su fiabilidad cae en picado cuando crece la complejidad, lo que invita a usarla solo como punto de partida y a verificar siempre cada afirmación.
DeepWiki bajo la lupa: cuando la documentación automática se inventa los datos
Fuentes:
Roko's dancing basilisk
