• Home
  • Química
  • Astronomía
  • Energía
  • Naturaleza
  • Biología
  • Física
  • Electrónica
  • Los investigadores compilan una nueva base de datos de fragmentos de código Python ejecutables en GitHub

    (a) Fragmento de código para usar la API de geocodificación de Google Maps (b) Dockerfile que contiene la especificación del entorno necesaria para ejecutar el fragmento de código. Crédito:Horton &Parnin

    Un equipo de investigadores de la Universidad Estatal de Carolina del Norte ha llevado a cabo recientemente un análisis empírico del estado ejecutable de los fragmentos de código de Python compartidos en GitHub. Su estudio, prepublicado en arXiv, también presenta Gistable, una nueva base de datos de fragmentos de código Python ejecutables en el sistema esencial de GitHub, lo que podría permitir estudios reproducibles en el campo de la ingeniería de software.

    Cotidiano, Los desarrolladores de software de todo el mundo crean y comparten código en línea para demostrar y delinear nuevos conceptos de programación. GitHub es una de las plataformas en línea más grandes en las que los desarrolladores pueden compartir sus fragmentos de código y colaborar en el desarrollo de software. En la actualidad, contiene más de 300, 000 fragmentos de Python y más de 4.5 millones de gists en una variedad de lenguajes de programación.

    Si bien los fragmentos de código publicados en línea pueden ser muy útiles, a veces no son directamente ejecutables por otros. Esto puede deberse a errores de análisis en el código o problemas con la ejecución de fragmentos en entornos que contienen dependencias no satisfechas.

    Para comprender mejor cuántos fragmentos de código alojados en el sistema esencial de GitHub son realmente ejecutables, Los investigadores de la Universidad Estatal de Carolina del Norte llevaron a cabo una evaluación exhaustiva de la capacidad de ejecución de los scripts de Python disponibles públicamente alojados en la plataforma. Su estudio tenía como objetivo identificar problemas comunes con la ejecución de fragmentos de código, lo que podría proporcionar información valiosa para futuras investigaciones sobre la gestión automatizada de la configuración de software.

    En su estudio, los investigadores también presentaron Gistable, una base de datos y un marco extensible construido sobre el sistema esencial de GitHub. Gistable contiene 10, 259 fragmentos de código de Python, de los cuales aproximadamente 5, 000 vienen con un Dockerfile para configurarlos y ejecutarlos sin errores de importación.

    "Nuestro trabajo en Gistable se motivó como parte de un proyecto más amplio sobre la configuración automatizada de entornos de aplicaciones, "Eric Horton, uno de los investigadores que realizó el estudio, le dijo a Tech Xplore. "Dada una base de código, como los fragmentos estudiados en Gistable, queremos encontrar un proceso que pueda construir un entorno de ejecución suficiente para ellos sin requerir la participación de un desarrollador. Para hacer esto, Primero tuvimos que dar un paso atrás y responder un par de preguntas. Primero, ¿Es este un caso de uso común? Necesitábamos establecer una línea de base sobre la frecuencia con la que las aplicaciones existentes necesitan algún tipo de configuración no trivial. Segundo, cuando no es ejecutable, ¿Qué tipo de configuración se necesita para permitir la ejecución? "

    En su estudio, los investigadores encontraron que el 75,6 por ciento de las esencias de Python analizadas requerían configuraciones sustanciales para superar problemas como las dependencias faltantes, Archivos de configuración, dependencia de un sistema operativo específico, u otros desafíos de configuración del entorno. Además, Se encontró que las suposiciones que los desarrolladores hacen sobre los nombres de los recursos cuando intentan resolver errores de configuración son correctas menos de la mitad de las veces.

    "Descubrimos que alrededor del 30 por ciento de nuestra muestra pertenecía a la categoría 'difícil de configurar', siendo la dificultad de configuración más común las dependencias de bibliotecas externas, "Explicó Horton." Nuestra investigación en el futuro inmediato se centrará en las técnicas para encontrar e instalar estas bibliotecas. Después, esperamos abordar otras dificultades de configuración comunes descubiertas como parte de Gistable ".

    En general, un entorno configurado de forma insuficiente fue el factor principal que impidió que los fragmentos de código de Python fueran ejecutables. Mientras que en algunos casos, las configuraciones correctas del entorno de la aplicación se pueden recuperar automáticamente, otros requirieron más intervenciones. En el futuro, los investigadores planean investigar estrategias para realizar configuraciones ambientales efectivas de manera consistente.

    "Creo que el logro más significativo de este estudio fue nuestra investigación sobre cómo los desarrolladores realizan la configuración manualmente, ", Dijo Horton." Las respuestas de los participantes no solo confirmaron que esto es en muchos casos un problema difícil, pero también nos ayudaron a categorizar cosas que pueden dificultar la configuración. Esto es muy útil, porque nos señala una lista concreta de elementos para futuras investigaciones ".

    © 2018 Tech Xplore




    © Ciencia https://es.scienceaq.com