Resumen:en los últimos años, el crecimiento en la popularidad de técnicas de machine Learning, y las áreas de aplicación de éstas, ha sido enorme. La ingeniería de software, con una adopción quizás más lenta, no ha sido ajena a esta tendencia, y se ha incorporado el uso de técnicas de machine learning en la resolución de problemas complejos del área, como el descubrimiento de defectos, la localización de fallas, la reparación automática de programas, y la síntesis de código a partir de especificaciones. Estas líneas de investigación exploran la dirección “machine learning para ingeniería de software”, y en esta charla discutiremos algunos ejemplos puntuales. Por otra parte, la dirección inversa, “ingeniería de software para machine learning”, explora la adaptación y aplicación de técnicas, métodos y herramientas de ingeniería de software al desarrollo de software con componentes basadas en machine learning. En relación a esta dirección, discutiremos algunas de las características de modelos de machine learning que los distinguen de componentes de software convencionales, y los desafíos que éstas producen, especialmente en la adaptación de técnicas de verificación de software a este contexto.