Además de la codificación, los ingenieros de software invierten mucho tiempo intercambiando información y colaborando con sus compañeros. El trabajo colaborativo en ingeniería de software se basa cada vez más en herramientas especializadas como motores de comunicación, sistemas de seguimiento de incidencias y plataformas de revisión de código.
Nuestro Laboratorio inteligente de herramientas colaborativas está volcado en comprender más profundamente los procesos colaborativos en la ingeniería de software y otros sectores creativos, y encontrar enfoques novedosos para la compatibilidad de las herramientas de trabajo colaborativo.
El historial de la actividad colectiva de desarrollo es una fuente rica de datos que se puede utilizar para respaldar el proceso de desarrollo. Para extraer información útil del historial de desarrollo, trabajamos en enfoques que incluyen sistemas de recomendación, modelos de experiencia, motores de análisis y técnicas de preguntas y respuestas.
Trabajamos en mejorar las herramientas de revisión de código con funcionalidades inteligentes basadas en el análisis de los cambios del código y el historial de comunicación de los desarrolladores.
Desarrollamos técnicas y herramientas para apoyar la adquisición de conocimiento y la funcionalidad de búsqueda en los grandes espacios de trabajo de mensajería instantánea. Esto incluye los sistemas de recomendación y las técnicas de preguntas y respuestas.
Examinamos sistemáticamente los problemas en el trabajo colectivo de los ingenieros de software e investigamos posibles maneras de abordar estos desafíos con herramientas. Este proceso ayuda a informar de nuestro trabajo.
Aplicamos técnicas establecidas para la generación de pruebas y la reproducción de errores en herramientas y entornos de ingeniería de software del mundo real, e investigamos el uso de modelos de lenguaje de gran tamaño para estas tareas.
Organizamos seminarios abiertos y clubs de lectura donde presentamos resultados interesantes, tanto propios como de otras personas.
Únase a nuestro grupo de meetup para no perderse las próximas sesiones.
¿Le gustaría presentar una conferencia? Solo tiene que enviar un correo electrónico a Vladimir.
ASE 2023, Luxemburgo
El factor bus (BF) es una métrica que rastrea la distribución del conocimiento en un proyecto. Es el número mínimo de ingenieros que tienen que marcharse para que un proyecto se paralice. A pesar de que existen varios algoritmos para calcular el factor bus, solo unas pocas herramientas permiten calcular fácilmente el factor bus y analizar cómodamente los resultados para proyectos alojados en proveedores basados en Git.
Presentamos Bus Factor Explorer, una aplicación web que proporciona una interfaz y una API para calcular, exportar y explorar la métrica del factor bus mediante la visualización en mapa de árbol, un modo de simulación y un editor de gráficos.Admite repositorios alojados en GitHub y permite buscar repositorios en la interfaz y procesar muchos repositorios al mismo tiempo. Nuestra herramienta permite a los usuarios identificar los archivos y subsistemas que corren el riesgo de bloquearse en caso de rotación de desarrolladores analizando el historial del VCS.
La aplicación y su código fuente están disponibles públicamente en GitHub en https://github.com/JetBrains-Research/bus-factor-explorer. Encontrará el vídeo de demostración en YouTube: https://youtu.be/uIoV79N14z8
EASE 2023, Oulu, Finlandia
Las herramientas modernas de revisión de código más populares (por ejemplo, Gerrit y GitHub) clasifican los archivos de una revisión de código por orden alfabético. Un estudio previo (sobre proyectos de código abierto) muestra que la posición de los archivos modificados en la revisión del código afecta al proceso de revisión. Sus resultados muestran que los archivos situados más abajo en la lista tienen menos posibilidades de recibir revisiones que los demás archivos. Por lo tanto, existe una mayor probabilidad de no detectar problemas en estos archivos. Este artículo explora el impacto del orden de los archivos en la revisión del código de IntelliJ IDEA, un proyecto muy popular en el sector informático. En primer lugar, verificamos los resultados del estudio anterior en un gran proyecto de software propietario. A continuación, exploramos una alternativa al orden alfabético predeterminado: ordenar los archivos modificados según su diff de código. Nuestros resultados confirman las observaciones del estudio anterior. Descubrimos que los revisores dejan más comentarios en los archivos que aparecen más arriba en la revisión del código. Además, estos resultados muestran que, incluso con los datos sesgados hacia el orden alfabético, ordenar los archivos modificados según su diff de código funciona mejor que el orden alfabético estándar en lo que respecta a colocar los archivos problemáticos, que necesitan más revisión, en la revisión del código. Estos resultados confirman que es necesario explorar más a fondo diversas estrategias de ordenación para la revisión del código.