CIbSE 2024
Mon 6 - Fri 10 May 2024 Curitiba, Brazil

Tutorial: Marcos Kalinowski

alt text


Machine Learning-Enabled Systems Requirements Elicitation and Specification

Machine learning (ML) teams often work on a project just to realize that the resulting solution does not fit the business objectives, real usage scenarios, or expected model characteristics (e.g., performance, explainability). Indeed, the success of ML-enabled systems involves aligning data with business goals, translating them into ML tasks, experimenting with algorithms, evaluating models, and capturing data from users, among others. Literature has shown that ML-enabled systems are rarely built based on precise specifications for such concerns, leading ML teams to become misaligned due to incorrect assumptions, which may affect the quality of such systems and the overall project success. In this tutorial, we dive into the perspectives and concerns to be considered when eliciting and specifying requirements for ML-enabled systems. The tutorial will teach how to apply PerSpecML, a freely available and pragmatic approach validated in academia and industry and successfully transferred to industrial practice. The tutorial will cover the theoretical foundations behind the elicitation and specification of the requirements for ML-enabled systems, as well as practical application examples taken from R&D projects conducted at PUC-Rio and hands-on exercises.

Marcos Kalinowski

Marcos Kalinowski is a professor of Software Engineering at PUC-Rio's Department of Informatics. His research focuses on Empirical Software Engineering, Requirements Engineering, Software Engineering for AI, and Software Quality. He is one of the founders and coordinators of the ExACTa PUC-Rio lab, where he leads several R&D projects with industry partners and supervises MS and DSc research. He holds a research productivity distinction from the Brazilian Council for Scientific and Technological Development (CNPq). He is a member of the International Software Engineering Research Network (ISERN) and is deeply involved in international research collaborations. Prior to his academic career, he accumulated over ten years of experience in the software industry, working in roles ranging from developer to director. He serves as senior advisor to the Brazilian software quality initiative MPS.BR. His research has received several international honors and awards and is available in publications at the main scientific software engineering conferences and journals. He serves the community as editor of the In-Practice track and editorial board member of the Journal of Systems and Software and as part of the organizing and program committees of several international conferences, including serving as general co-chair of ICSE 2026, to be held in Rio de Janeiro.


Elicitación y Especificación de Requisitos de Sistemas de Machine Learning

Los equipos de aprendizaje automático (Machine Learning, ML) trabajan a menudo en un proyecto sólo para darse cuenta de que la solución resultante no se ajusta a los objetivos empresariales, los escenarios de uso reales o las características esperadas del modelo (por ejemplo, rendimiento, explicabilidad). De hecho, el éxito de los sistemas habilitados para ML implica alinear los datos con los objetivos empresariales, traducirlos en tareas de ML, experimentar con algoritmos, evaluar modelos y capturar datos de los usuarios, entre otras cosas. La literatura ha demostrado que los sistemas habilitados para ML rara vez se construyen basándose en especificaciones precisas para dichas preocupaciones, lo que lleva a los equipos de ML a desalinearse debido a suposiciones incorrectas, que pueden afectar a la calidad de dichos sistemas y al éxito general del proyecto. En este tutorial, nos adentraremos en las perspectivas y preocupaciones que deben tenerse en cuenta a la hora de obtener y especificar los requisitos de los sistemas basados en ML. El tutorial enseñará a aplicar PerSpecML, un enfoque pragmático y de libre acceso validado en el mundo académico y la industria y transferido con éxito a la práctica industrial. El tutorial abarcará los fundamentos teóricos que subyacen a la obtención y especificación de los requisitos de los sistemas basados en ML, así como ejemplos de aplicación práctica extraídos de proyectos de I+D realizados en la PUC-Rio y ejercicios prácticos.

Marcos Kalinowski

Marcos Kalinowski es profesor de Ingeniería de Software en el Departamento de Informática de la PUC-Rio. Su investigación se centra en la ingeniería empírica del software, la ingeniería de requisitos, la ingeniería del software para la IA y la calidad del software. Es uno de los fundadores y coordinadores del laboratorio ExACTa PUC-Rio, donde dirige varios proyectos de I+D con socios de la industria y supervisa investigaciones de máster y doctorado. Posee una distinción a la productividad investigadora del Consejo Nacional de Desarrollo Científico y Tecnológico (CNPq). Es miembro de la Red Internacional de Investigación en Ingeniería de Software (ISERN) y participa activamente en colaboraciones internacionales de investigación. Antes de su carrera académica, acumuló más de diez años de experiencia en la industria del software, trabajando en puestos que van desde desarrollador a director. Es asesor principal de la iniciativa brasileña de calidad del software MPS.BR. Su investigación ha recibido varios honores y premios internacionales y está disponible en publicaciones en las principales conferencias y revistas científicas de ingeniería de software. Sirve a la comunidad como editor de la pista In-Practice y miembro del consejo editorial del Journal of Systems and Software y como parte de los comités organizadores y del programa de varias conferencias internacionales, incluyendo el cargo de copresidente general de ICSE 2026, que se celebrará en Río de Janeiro.


Elicitação e Especificação de Requisitos de Sistemas de Machine Learning

Equipes de machine learning (ML) muitas vezes trabalham em um projeto apenas para perceber que a solução resultante não se enquadra nos objetivos de negócios, nos cenários reais de uso ou nas características esperadas para o modelo (por exemplo, desempenho, explicabilidade). De fato, o sucesso de sistemas com componentes de ML envolve alinhar dados com objetivos de negócios, traduzi-los em tarefas de ML, experimentar algoritmos, avaliar modelos e capturar dados de usuários, entre outros. A literatura tem mostrado que os sistemas com componentes de ML raramente são construídos com base em especificações precisas para tais preocupações, levando as equipes de ML a ficarem desalinhadas devido a suposições incorretas, o que pode afetar a qualidade de tais sistemas e o sucesso do projeto como um todo. Neste tutorial, mergulhamos nas perspectivas e preocupações a serem consideradas para elicitar e especificar requisitos para sistemas com componentes de ML. O tutorial ensinará como aplicar PerSpecML, uma abordagem gratuitamente disponível e pragmática validada na academia e na indústria e transferida com sucesso para a prática industrial. O tutorial cobrirá os fundamentos teóricos por trás da elicitação e especificação de requisitos para sistemas com componentes de ML, bem como fornecer exemplos práticos de aplicação de projetos de P&D conduzidos na PUC-Rio e exercícios hands-on.

Marcos Kalinowski

Marcos Kalinowski é professor de Engenharia de Software no Departamento de Informática da PUC-Rio. Suas pesquisas são focadas em Engenharia de Software Empírica, Engenharia de Requisitos, Engenharia de Software para IA e Qualidade de Software. É um dos fundadores e coordenadores do laboratório ExACTa PUC-Rio, onde lidera vários projetos de P&D com parceiros da indústria e supervisiona pesquisas de mestrado e doutorado. Possui uma distinção de produtividade em pesquisa do Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq). Ele é membro da International Software Engineering Research Network (ISERN) e está profundamente envolvido em colaborações internacionais de pesquisa. Antes da sua carreira académica, acumulou mais de dez anos de experiência na indústria de software, trabalhando em funções que vão desde programador a diretor. Ele atua como consultor sênior da iniciativa brasileira de qualidade de software MPS.BR. A sua investigação recebeu várias distinções e prémios internacionais e está disponível em publicações nas principais conferências e revistas científicas de engenharia de software. Ele serve a comunidade como editor da trilha In-Practice e membro do conselho editorial do Journal of Systems and Software e como parte dos comitês organizadores e de programa de várias conferências internacionais, incluindo a função de copresidente geral do ICSE 2026, a ser realizado no Rio de Janeiro.

Professor of Software Engineering at the Department of Informatics of PUC-Rio.

Tue 7 May

Displayed time zone: UTC-3 change

08:30 - 10:30
EIbAIS – Tutorial 3: Machine Learning-Enabled Systems Requirements Elicitation and SpecificationEIbAIS at Building 3 - Auditorio Carlos Costa
Chair(s): Adolfo Neto Federal University of Technology - Paraná, Pedro Valderas Universitat Politècnica de València
08:30
2h
Tutorial
Machine Learning-Enabled Systems Requirements Elicitation and Specification
EIbAIS
Marcos Kalinowski Pontifical Catholic University of Rio de Janeiro (PUC-Rio)
11:00 - 13:00
EIbAIS – Tutorial 3: Machine Learning-Enabled Systems Requirements Elicitation and SpecificationEIbAIS at Building 3 - Auditorio Carlos Costa
Chair(s): Adolfo Neto Federal University of Technology - Paraná, Pedro Valderas Universitat Politècnica de València
11:00
2h
Tutorial
Machine Learning-Enabled Systems Requirements Elicitation and Specification
EIbAIS
Marcos Kalinowski Pontifical Catholic University of Rio de Janeiro (PUC-Rio)