3er Foro en Ingeniería de software
Minería de Repositorios al Servicio del Desarrollo de Software
Massimiliano Di Penta, Profesor Asociado Universidad de Sannio, Italia
Sonia Haiduc, Profesora Asistente, Universidad Estatal de la Florida, USA
Christopher Vendome, Candidato a PhD, College of William and Mary, USA
Mario Linares, Profesor asistente del Departamento de Ingeniería de Sistemas y Computación - Uniandes
Grandes volúmenes de datos sin/con estructura, son generados a lo largo de los procesos de desarrollo de software, tanto por el equipo de desarrollo como los usuarios. Estos datos representan información valiosa para la toma de decisiones del proceso, como por ejemplo, predicción de defectos, asignación de solicitudes de cambio a desarrolladores y priorización de solicitudes reportadas por usuarios en mercados en línea de aplicaciones móviles (app stores). Sin embargo, dado el volumen de los datos disponibles, el análisis manual es una tarea inconcebible y costosa.
Lo esperamos el próximo 16 de agosto. Inscripción previa*
Objetivo:
Este foro buscar presentar y promover el uso de técnicas modernas de Ingeniería de Software conocidas como Minería de Repositorios de Software (MSR por sus siglas en inglés), las cuales permiten el análisis automático de artefactos textuales y grandes volúmenes de información. El enfoque del foro es práctico, centrándose en ejemplos de tareas reales de Ingeniería de software que son soportadas usando MSR.
Dirigido a:
-
Profesionales involucrados en procesos de desarrollo de software, que estén interesados en explotar y potenciar el valor de la información y conocimiento que reside en los repositorios de software, para soportar la toma de decisiones y la solución de problemas de Ingeniería de Software.
-
Cualquier profesional en el área de desarrollo de software, incluyendo a perfiles de toma de decisiones a nivel gerencia de proyecto, analistas, arquitectos, entre otros.
Con el apoyo de:
Fecha:
16 de Agosto del 2017
Hora:
8:00 AM a 12:30 PM
Inscripción previa:
*Inscripción previa sin costo. Esta inscripción solo aplica para el 3er Foro en Ingeniería de Software, pero la inscripción al workshop si tiene costo.
**La asistencia al foro o al workshop no genera la expedición de certificado alguno.
Lugar:
Calle 19A No. 1 - 82 Este
Auditorios B - Edificio Mario Laserna
Universidad de los Andes
La agenda presentada a continuación está sujeta a modificaciones y puede cambiar sin previo aviso.
Hora | Actividad |
8:00am - 8:30am | Registro e ingreso a auditorios |
8:30am - 8:45am | BIENVENIDA Mario Linares, Profesor Asistente, Departamento de Ingeniería de Sistemas y Computación - Uniandes |
8:45am - 9:45am |
KEYNOTE Mining software data to help developers: challenges and perspectives |
9:45am - 10:45am |
The Use of Text Retrieval and Natural Language Processing in Software Engineering |
10:45am - 11:15am |
Coffe break y Networking |
11:15am - 11:50m |
Open Source Licensing - The Challenges and Current Support for Developers |
11:50am - 12:30pm |
Minería de Repositorios de Software (Android) |
12:30pm | Cierre Foro |
Fecha:
16 de Agosto del 2017
Hora:
8:00 AM a 12:30 PM
Inscripción previa:
*Inscripción previa sin costo. Esta inscripción solo aplica para el 3er Foro en Ingeniería de Software, la inscripción al workshop tiene costo.
Lugar:
Calle 19A No. 1 - 82 Este
Auditorios B - Edificio Mario Laserna
Universidad de los Andes
Mario Linares Vásquez, Profesor Asistente Departamento de Ingeniería de Sistemas y Computación, Facultad de Ingeniería, Universidad de los Andes
Profesor Asistente en la Universidad de los Andes, Colombia. Ph.D en Ciencias de la Computación del College de William and Mary (2016); Magister en Ingeniería - Sistemas y Computación (2009) e Ingeniero de Sistemas de la Universidad Nacional de Colombia (2005). Cuenta con más de 10 años de experiencia profesional en proyectos de desarrollo de software y cerca de 10 años de experiencia en docencia universitaria. Sus temas de interés son la evolución y mantenimiento de software, automatización de pruebas, minería de repositorios de software, aplicación de minería de datos y aprendizaje de máquina para el soporte de tareas de Ingeniería de Software, y desarrollo de aplicaciones móviles.
Massimiliano Di Penta, Profesor Asociado Universidad de Sannio, Italia
Profesor asociado en la Universidad de Sannio (Italia). Ampliamente reconocido en la comunidad académica por sus contribuciones significativas en el área de ingeniería de software. Sus áreas de interés son evolución y mantenimiento de software, pruebas, ingeniería de software basada en búsqueda (SBSE), ingeniería empírica, y minería de repositorios de software.
Sonia Haiduc, Profesora Asistente, Universidad Estatal de la Florida, USA
Profesora asistente de Florida State University (USA), con amplia experiencia en el análisis de datos no estructurados. Su área de investigación es la evolución y mantenimiento de software. Su trabajo se enfoca en el uso de técnicas de recuperación de información, procesamiento de lenguaje natural, y aprendizaje de máquina para soportar tareas de ingeniería de software tales como localización de defectos, generación de resúmenes de código, recuperación de enlaces de trazabilidad, comprensión de código.
@soniahaiduc /SoniaHaiduc /SoniaHaiduc
Christopher Vendome, Candidato a PhD, College of William and Mary, USA
Candidato a Ph.D y Asistente de Investigación en Ciencias de Computación del College of William and Mary (USA), con amplia experiencia en minería de repositorios de código como Github y sistemas Q&A como StackOverlflow. Su área amplia de investigación es el mantenimiento y evolución de software con énfasis en problemas de licenciamiento de software, procedencia de software (software provenance), y minería de repositorios de código.
/ChristopherVendomeChristopherVendome
Mining software data to help developers: challenges and perspectives
Conferencista: Massimiliano Di Penta, Profesor Asociado Universidad de Sannio, Italia
Los repositorios de software contienen una cantidad y variedad (valiosa!!!) de datos acerca de los procesos de desarrollo de software y el producto como tal. Aunque los repositorios fueron concebidos para otros propósitos – ej., administración de la configuración, o discusiones en línea --, estos tienen un gran potencial para soportar la creación de herramientas de recomendación que pueden hacer la vida más fácil a los desarrolladores, y en algunos casos mejorar la calidad del software. Ejemplos de “sistemas de recomendación” basados en datos extraídos de repositorios de software incluye herramientas para “triage” automático de bugs, identificadores de evolución conjunta (co-cambios), recomendadores de ejemplos de código y documentación sensible al contexto, o modelos para predicción automática de defectos. Sin embargo, implementar tales sistemas y asegurar su aplicabilidad en ambientes reales, tiene su costo, representado en los obstáculos que se deben enfrentar durante su diseño e implementación tales como la calidad de los datos, la aplicabilidad, viabilidad, utilidad y usabilidad del sistema. Este keynote, primero se enfocará en presentar el campo de minería de repositorios de software y su utilidad para los procesos de desarrollo de software; luego presentará la construcción de sistemas de recomendación basados en datos de repositorios, sus perspectivas, y desafíos.
Software repositories contain a precious variety and amount of data about software development process and product. While such repositories have been conceived for other purposes -- e.g., supporting software configuration management, or favoring stakeholders’ discussions-- there is a huge potential in the capability software repositories have to entail the creation of recommender tools that could ease developers’ work and, in some case, even automatically improve software quality. Examples of successful recommenders based on data from software repositories include bug triaging tools, co-change recommenders, context-sensitive code example and documentation recommenders, or defect prediction approaches. However, there is no free lunch in developing such approaches and above all ensuring their applicability in a realistic development scenario; there are several challenges that developers and researchers face when designing and implementing those recommender systems such as data quality, applicability, feasibility, usefulness and usability. This keynote focuses on presenting the area of mining software repositories, and its usefulness for software development processes; then, recommender tools based on software repository data will be discussed, including their perspectives and challenges.
The Use of Text Retrieval and Natural Language Processing in Software Engineering
Conferencista: Sonia Haiduc, Profesora Asistente, Universidad Estatal de la Florida, USA
Durante la evolución del software, muchos artefactos son creados/modificados; la mayoría de estos artefactos incluyen lenguaje natural (ej., requerimientos, manuales, reportes de defectos, etc.). Estos artefactos textuales codifican información importante a la hora de soportar una variedad de tareas de ingeniería de software.
En esta charla se presentarán dos técnicas ampliamente usadas en ingeniería de software para extraer, obtener, y apalancar información “no estructurada” que se encuentra en los artefactos de software: recuperación de texto (Text Retrieval) y procesamiento de lenguaje natural (Natural Language Processing)
During software evolution many artifacts are created or modified, many including natural language text (e.g., requirements, user manuals, bug reports, etc.). These encode important information that supports a variety of software engineering tasks. This talk will discuss two popular types of techniques applied in software engineering to extract, retrieve, and leverage the unstructured information found in software artifacts: Text Retrieval and Natural Language Processing.
Open Source Licensing - The Challenges and Current Support for Developers
Conferencista: Christopher Vendome, Candidato a PhD, College of William and Mary, USA
Los desarrolladores de software tienen que enfrentarse a diferentes problemas y desafios cuando usan proyectos que tienen licencias de código abierto. Ejemplos de esos problemas son la incompatibilidad entre las licencias y los estándares o expectativas de una comunidad de desarrollo. Esta charla tiene como primer objetivo presentar y discutir esos problemas.
Concerniente a herramientas de soporte, las técnicas actuales para detección se enfocan solo en la tarea de identificación automática de la licencia. Sin embargo, aún hay problemas abiertos relacionados con la evaluación de compatibilidad entre licencias que requieren de técnicas para minería de repositorios a gran escala. Como segundo objetivo, esta charla presentará las herramientas y recursos disponibles para soporte a la selección de licencias de código abierto.
This keynote discusses the challenges that developers face with open source software licenses and the current tools that they have available to assist with software licensing. Developers may face several issues such as incompatibility between these licenses and standards or expectations of the community to which they are contributing. Current techniques focus on license identification identifying the licensing. However, there are still open challenges to evaluate license compliance of a software system that require large scale mining of open source repositories.
Workshop: Mining Software Repositories
Hands-on in Mining Software Repositories
Instructor:
- Massimiliano Di Penta, Profesor Asociado Universidad de Sannio, Italia
Descripción: El objetivo de este tutorial es presentar los conceptos básicos requeridos para entender y trabajar el área de minería de repositorios de software. Específicamente, este tutorial se enfoca en elementos prácticos relacionados con cómo extraer datos de diferentes repositorios (ej., sistemas de control de versiones, listas de correo, repositorios de incidencias) y cómo integrarlos. Para cada repositorio, el tutorial presentará (i) detalles prácticos de implementación que permitan a los participantes iniciar trabajos en el área, (ii) algunos ejemplos de aplicación, (iii) desafíos/amenazas inherentes a los repositorios de software, (iv) heurísticas para manejar las amenazas, y (v) buenas/malas prácticas en minería de repositorios de software.
Summary: The goal of this tutorial is to provide the basic knowledge needed to start your research and experience in the area of mining software repositories. Specifically, the tutorial will provide practical elements about how to extract data from various kinds of repositories (e.g., versioning systems, mailing lists, issue trackers) and how to integrate them. For each repository, the tutorial will feature (i) some very practical implementation details to allow participants becoming productive in this area immediately, (ii) some examples of applications, (iii) threats due to the noisiness and incompleteness of software repository data, (iv) heuristics to deal with such threats, and (v) good/bad practices in mining software repositories.
Hands-on Text Retrieval and Natural Language Processing for Software Engineering
Instructor:
- Sonia Haiduc, Profesora Asistente, Universidad Estatal de la Florida, USA
Descripción: Con este tutorial los participantes tendrán la oportunidad de aplicar algunas de las técnicas más populares de recuperación de texto (Text Retrieval) y procesamiento de lenguaje natural (NLP) en un problema práctico de ingeniería de software. El tutorial es interactivo, de tipo “hands-on”, y orientado a aprendizaje activo guíado por el presentador.
Summary: This tutorial will offer participants the opportunity to learn how to apply some of the most popular Text Retrieval and NLP techniques to a practical software engineering problem. The tutorial is hands-on and interactive, and participants will be learning by doing the exercises alongside the presenter.
Costo y descuentos del Workshop: $120.000
- Estudiantes y egresados: 10% - $ 108.000
- SisAndes: 20% - $ 96.000
- Descuento para grupos mayores a 10 personas (el grupo debe ser de una misma entidad): 30% - $ 84.000
Pago:
Agenda:
Hora | Actividad | |||
8:00am - 8:15 am | Registro e ingreso | |||
8:15am - 10:00am |
Hands-on in Mining Software Repositories |
|||
10:00am - 10:30am |
Coffe break |
|||
10:30am - 12:00m |
Hands-on Text Retrieval and Natural Language Processing for Software Engineering |