¿Debo proporcionar el código junto con mi presentación en papel?

Voy a enviar un documento a una conferencia sobre aprendizaje automático/visión por computadora. ¿Vale la pena incluir algún código fuente de mi implementación para que los revisores puedan probarlo ellos mismos u obtener una mayor comprensión de mi idea? Tomará tiempo limpiar mi código y asegurarme de que sea anónimo.

¿Es esta una práctica común? Si es así, ¿los revisores prestan atención al código?

¿Vale la pena el tiempo para preparar un código anónimo y limpio?

El código se incluirá como un archivo ZIP a través del sitio web de presentación de trabajos. Después de que el documento haya sido aceptado, tengo la intención de publicarlo con una licencia de código abierto.

¿Podría aclarar si el código fuente debe estar en el documento/pdf enviado, o es un enlace a un repositorio donde se almacena como github?
@user389823 Se debe proporcionar en un archivo ZIP en el sitio web de envío de artículos.
¿A qué te refieres con anonimizado? ¿Se está anonimizando a sí mismo (y a los otros autores del código) o a los sujetos del estudio?
@DavidRobinson El primero.

Respuestas (4)

¿Debo proporcionar el código como material complementario?

Sí, pero sería mejor que lo publicaras en acceso abierto.

¿Es esta una práctica común?

No.

Si es así, ¿los revisores prestan atención al código?

Depende de los revisores.

¿Vale la pena el tiempo para preparar un código anónimo y limpio?

Eso depende, no hagas más de lo necesario.

Lea también:

Planeo publicarlo bajo una licencia de código abierto una vez que el artículo sea aceptado en alguna parte.
@StephenTierney Es posible que haya entendido mal la pregunta. En este caso, sugeriría proteger su trabajo publicándolo. En algunas zonas se acostumbra enviar el paper a arxiv.org o repositorios similares antes de enviarlo a revisión, no sé que tan confiables puedan ser los revisores en este caso específico que tienes. En mi humilde opinión, el diseño de todo el proceso de revisión y publicación está mal, pero ese es un asunto diferente.
@StephenTierney, ¿por qué no publica el código fuente ahora mismo , digamos en Github.com, bajo una licencia de código abierto? Lo protegería antes de enviarlo y se escaparía de los acuerdos de transferencia de derechos de autor.

Hacer que el código esté disponible siempre es una buena idea, siempre que funcione. Probablemente sea una buena idea incluso si no es así, ya que incluso el código que no funciona puede ayudar a los revisores y usuarios/lectores de su trabajo a comprender los detalles de su implementación que su documento no cubre. Sin embargo, si el código no funciona, debe indicarlo claramente en la fuente. En el caso de código en funcionamiento y probado, tenga en cuenta que es muy deseable contar con suficiente documentación para ejecutar el código. Solo menciona a los revisores, pero también debe pensar en los lectores generales de su artículo.

Creo que probablemente sea razonable proporcionar una instantánea actual del código al documento como un archivo zip (o similar) para fines de revisión, pero ¿por qué no simplemente ponerlo en línea directamente como un repositorio de Git o Mercurial en Bitbucket, Github o similar? , y hacer referencia a esto en el papel? También recomiendo hacer repositorios disponibles en más de un lugar, en aras de la redundancia. Por ejemplo, he usado tanto Bitbucket como Google Code para mis repositorios de Mercurial. Esto tiene varias ventajas sobre un archivo zip; por un lado, puede enviar correcciones y otros cambios a su repositorio, y todos tendrán acceso inmediato a ellos.

Si le preocupa que la publicación de su código antes de que se haya publicado su artículo podría significar que alguien más lo "eliminará", me parece poco probable. Al menos, no es algo que me haya preocupado nunca.

Solo me preocupa el impacto que tiene el código de suministro en el proceso de revisión. No puedo proporcionar el código en un sitio web externo, ya que puede comprometer el anonimato en el proceso de revisión.
@StephenTierney Entiendo tu punto. Sin embargo, parece que se está refiriendo a una situación en la que los revisores no conocen la identidad del autor. Sin embargo, mi impresión es que esto rara vez ocurre en la práctica, porque tal restricción es difícil de hacer cumplir. Por ejemplo, ¿cómo se maneja el caso en que el autor se refiere a sus trabajos anteriores en la bibliografía?
Cuando se refiere a su trabajo anterior, dice "Tierney et al. propusieron" en lugar de "nosotros propusimos anteriormente".
Cierto, pero si el artículo en cuestión depende de publicaciones anteriores del autor, y esas publicaciones anteriores están en la bibliografía y no están anonimizadas, entonces, a menudo, la autoría actual es bastante clara, aunque solo sea por consideraciones de estilo/contenido. De todos modos, basta de decir.

Absolutamente sí.

Si no publica el código, entonces su trabajo no es reproducible de facto; y si me tiene como revisor, haré todo lo que esté a mi alcance para que publique el código o sea rechazado. Raras excepciones por el contrario, donde una implementación es trivial. Pero las implementaciones rara vez son triviales; y, a menudo, es un gran lugar para barrer un montón de peculiaridades debajo de la alfombra que convenientemente no se mencionan en el periódico.

Por supuesto, no es difícil salirse con la suya sin proporcionar código; las revistas son particularmente laxas a la hora de hacer cumplir o incluso adoptar estándares, aunque la mayoría de las personas en el campo denunciarán la falta de reproducibilidad del trabajo publicado. Pero nadie se molestará contigo por proporcionar el código tampoco. Escribir código con el que realmente te sientas cómodo publicándolo requiere trabajo, por supuesto. Tiempo que podrías dedicar a otras cosas. Si no se siente cómodo comprimiendo su código y proporcionándolo en este momento, probablemente sea una buena indicación de que los artículos escritos sobre dicho código tampoco están listos para ser publicados.

Desafortunadamente, existe una tensión allí, entre hacer lo correcto científicamente y hacer lo correcto para tu carrera. Pero en cuanto a mí como revisor; sin código == sin publicación.

Me encanta, me encanta todo sobre él! Aunque todavía diría que el código horrible aún puede tener un gran impacto. Entonces, si se trata de un código limpio frente a un código horrible... entonces sí, limpie el código. Si se trata de un código horrible frente a un código sans, no hay duda de que se debe publicar el código.

Esto depende en gran medida de los revisores y de las costumbres de campo. Algunos revisores, especialmente en revistas, pueden solicitar el código fuente. Sin embargo, es poco probable que en las conferencias de Ciencias de la Computación los revisores soliciten el código fuente, especialmente cuando el artículo está bien escrito.