Conferencistas

Laurie Williams

Laurie Williams es Profesora Distinguida del Departamento de Ciencias de la Computación de la Facultad de Ingeniería de la Universidad Estatal de Carolina del Norte (NCSU). Laurie es codirectora del NCSU Secure Computing Institute y del NCSU Science of Security Lablet, y es la Tecnóloga Principal de Ciberseguridad del Instituto SecureAmerica. La investigación de Laurie se centra en la seguridad del software; las prácticas y procesos ágiles de desarrollo de software, particularmente el despliegue continuo y la fiabilidad del software, pruebas y análisis de software. Laurie es miembro de la ACM y del IEEE.

Resolviendo los retos de la seguridad del software con inteligencia artificial 

Descripción

La seguridad del software se encuentra en la intersección de la ingeniería del software y la ciberseguridad – incorporando la seguridad en un producto.  Las técnicas de seguridad del software se centran en la prevención de la inyección de vulnerabilidades y en la detección de las vulnerabilidades que se abren paso en un producto o en la cadena de despliegue antes de que el producto sea lanzado.  Cada vez más se utiliza la inteligencia artificial para potenciar las técnicas de seguridad del software y ayudar a las organizaciones a desplegar productos seguros.  Esta charla presentará un panorama de la investigación y la práctica en la intersección de la ingeniería de software, la ciberseguridad y la inteligencia artificial para resolver los retos de la ciberseguridad.  La charla también presentará proyectos de investigación realizados por el propio grupo de investigación de la ponente. 


Leandro L. Minku

Leandro L. Minku es profesor de Sistemas Inteligentes en la Escuela de Ciencias de la Computación de la Universidad de Birmingham (Reino Unido). Los principales intereses de investigación del Dr. Minku son el aprendizaje automático en entornos no estacionarios / minería de flujo de datos, aprendizaje de desequilibrio de clases en línea, conjuntos de máquinas de aprendizaje e inteligencia computacional para Ingeniería de Software. Entre otras funciones, Leandro Minku es editor director asociado de la revista Neurocomputing, editor asociado de IEEE Transactions on Neural Networks and Learning Systems, editor coordinador de la revista Empirical Software Engineering y editor asociado de Journal of Systems and Software.

Prediction of Defect-Inducing Software Changes in Dynamic Environments

Descripción

Los sistemas de software se han vuelto cada vez más grandes y complejos. Esto conduce inevitablemente a defectos de software, que son costosos de depurar y corregir. Para ayudar a reducir la cantidad de defectos, se han propuesto enfoques de aprendizaje automático para predecir cambios que inducen defectos en el código fuente del software en el momento de la confirmación. Al inspeccionar dichos cambios en el momento de la confirmación, los desarrolladores pueden reducir las posibilidades de inducir defectos que son mucho más costosos de depurar y corregir en etapas posteriores. Si bien los resultados en este campo son prometedores, la mayoría de los trabajos existentes asumen que las características del problema siguen siendo las mismas a lo largo del tiempo. Sin embargo, el entorno donde se llevan a cabo los proyectos de software es dinámico, siendo afectado por cambios en el equipo de desarrollo, en la estrategia de gestión, en la etapa actual del desarrollo del software, entre otros. Dicho dinamismo significa que el proceso de generación de defectos puede sufrir variaciones a lo largo del tiempo, lo que perjudica la capacidad de los clasificadores de aprendizaje automático para funcionar bien. En esta charla, discutiré los últimos avances en el manejo de la predicción de cambios de software que inducen defectos en entornos dinámicos.


Carolyn Seaman

Carolyn Seaman es profesora de Sistemas de Información en la Universidad de Maryland Baltimore County (UMBC). También es la directora del Centro de Mujeres en la Tecnología en la UMBC. Su investigación consiste principalmente en estudios empíricos de ingeniería de software, con especial énfasis en el mantenimiento, la estructura organizativa, la comunicación, la medición y la deuda técnica. También investiga los métodos de investigación cualitativa en la ingeniería de software, así como la pedagogía informática.  Es doctora en Ciencias de la Computación por la Universidad de Maryland, College Park, tiene un máster de Georgia Tech y un bachillerato del College of Wooster (Ohio).

Decision Making in Software Engineering: The Central Role of Technical Debt 

Descripción

La deuda técnica es una metáfora que capta el balance habitual que se produce en los proyectos de desarrollo de software entre las presiones a corto plazo (por ejemplo, el tiempo de entrega) y las preocupaciones a largo plazo (por ejemplo, la capacidad de mantenimiento). Se refiere a los problemas existentes en un producto de software que se generaron ante una presión a corto plazo, pero que suponen un riesgo para la capacidad del equipo de mantener el producto a lo largo del tiempo. Los tipos más comunes de deuda técnica son un código demasiado complejo, un código mal estructurado, un código no documentado, la degradación de la arquitectura del software, pruebas insuficientes, etc. Las decisiones sobre si incurrir en deuda, o cuándo pagarla, o qué deuda pagar, encapsulan perfectamente las disyuntivas a corto vs. largo plazo que son típicas en la ingeniería de software. De hecho, se puede alegar que casi todas las decisiones tomadas durante un proyecto de software están relacionadas de alguna manera con la deuda técnica. Por lo tanto, la comprensión profunda y la mejora en la toma de decisiones sobre la deuda técnica tendrán un impacto significativo en la gestión de los proyectos de software en general. En esta charla, revisaremos las corrientes actuales de investigación sobre la toma de decisiones en materia de deuda técnica,  ingeniería del software en general y en las disciplinas relacionadas.


Alessandro Garcia

El Dr. García tiene un doctorado en Ciencias de la Computación de la Pontificia Universidad Católica de Río de Janeiro (2004). Fue profesor asistente en la Universidad de Lancaster (Inglaterra) desde febrero de 2005 hasta enero de 2009 y se desempeñó como miembro del consejo editorial de dos importantes revistas internacionales en su área: IEEE Transactions on Software Engineering y Journal of Systems and Software. El profesor García ha sido invitado con frecuencia a los Comités de Programa y / o Comités de Organización de las principales conferencias internacionales de Ingeniería de Software y áreas relacionadas como ICSE, FSE, ICSME, MODELS, ICPC, ESEM y varios otros.

From Intuition to Spirituality: What Are their Roles in Software Design?

Descripción

La intuición es la capacidad de comprender algo «automáticamente», sin la necesidad de un razonamiento consciente. El uso de la intuición junto con el diseño de software puede tener un impacto importante en su calidad general. El diseño de software es una actividad que requiere que los arquitectos, desarrolladores, evaluadores, mantenedores, revisores y otros tomen decisiones todo el tiempo. Es probable que las intuiciones de estas partes interesadas impulsen varias decisiones de diseño dada la necesidad de rapidez y muchos otros factores del proyecto de software. A pesar de que la intuición se ha estudiado ampliamente en muchas disciplinas, su papel en el diseño de software rara vez se ha investigado en profundidad. Uno puede sospechar que la intuición, dadas las decisiones de diseño repentinas que se derivan de ella, puede hacer más daño que bien en el diseño de software. Sin embargo, este no es necesariamente el caso. Todavía tenemos un conocimiento limitado sobre la influencia de la intuición en la calidad del software. Hay diferentes tipos de intuición que se están investigando en otras disciplinas, incluidas las más controvertidas, como la “intuición espiritual”. El propósito de esta charla es presentar un caso sobre la importancia de estudiar el papel de ciertos tipos de intuición en el diseño de software. Presentaremos algunas posibles direcciones de investigación que probablemente nos permitan comprender si nuestros métodos, herramientas e IDE pueden estimular la intuición “positiva” en el diseño de software y cómo.