Filipe Roseiro Cogo
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Research Subjects
Filipe Roseiro Cogo has a total of 45 co-authors. Here are the top co-authors by number of shared publications:
- Ahmed E. Hassan
Queen’s University, Canada
15 shared publications - Gustavo Ansaldi Oliva
Huawei Canada, Kingston, Canada
7 shared publications - Dayi Lin
Queen’s University, Canada
6 shared publications - Bram Adams
Queen’s University, Canada
5 shared publications - Gopi Krishnan Rajbahadur
Queen’s University, Canada
5 shared publications - Benjamin Rombaut
Centre for Software Excellence, Huawei Canada, Kingston, Canada
4 shared publications
Latest Publications
- Open Access
- 12 April 2026
- Published by Association for Computing Machinery (ACM)
- p. 16-18
Vibe Engineering
“Vibe coding” represents a paradigm shift where non-technical users, or “software makers”, create applications by describing the desired outcome, focusing entirely on the final output rather than the underlying code. This movement, propelled by hyper-growth platforms like Lovable, Bubble, and Glide, actualizes the vision of “AIware”: software for all, by all. However, this remarkable progress is currently confined to applications of limited complexity and introduces significant risks of unreliability and failure. This 90-minute technical briefing introduces Vibe Engineering, a structured framework for AI-assisted software creation that goes beyond one-shot prompts. The framework operates by defining roles, specifying artifacts, and orchestrating a repeatable process. It is built on two foundational pillars: (1) Intent Engineering, which focuses on deeply understanding user needs through multi-agent dialogues, Theory of Mind (ToM) principles, and test-driven requirement refinement; and (2) Realization Engineering, a specialized Agent Execution Environment (AEE) where multi-agent teams autonomously build, test, and verify the software based on the user’s validated intent. This briefing provides an insider’s view of the technical challenges in this domain and surfaces concrete software engineering research opportunities.
- 12 April 2026
- Published by Association for Computing Machinery (ACM)
- p. 16-18
Open AccessVibe Engineering
“Vibe coding” represents a paradigm shift where non-technical users, or “software makers”, create applications by describing the desired outcome, focusing entirely on the final output rather than the underlying code. This movement, propelled by hyper-growth platforms like Lovable, Bubble, and Glide, actualizes the vision of “AIware”: software for all, by all. However, this remarkable progress is currently confined to applications of limited complexity and introduces significant risks of unreliability and failure. This 90-minute technical briefing introduces Vibe Engineering, a structured framework for AI-assisted software creation that goes beyond one-shot prompts. The framework operates by defining roles, specifying artifacts, and orchestrating a repeatable process. It is built on two foundational pillars: (1) Intent Engineering, which focuses on deeply understanding user needs through multi-agent dialogues, Theory of Mind (ToM) principles, and test-driven requirement refinement; and (2) Realization Engineering, a specialized Agent Execution Environment (AEE) where multi-agent teams autonomously build, test, and verify the software based on the user’s validated intent. This briefing provides an insider’s view of the technical challenges in this domain and surfaces concrete software engineering research opportunities.
- Open Access
- 28 March 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
Compiler.next: A Search-Based Compiler to Power the AI-Native Future of Software Engineering
The rapid advancement of AI-assisted software engineering has brought transformative potential to the field of software engineering, but existing tools and paradigms remain limited by cognitive overload, inefficient tool integration, and the narrow capabilities of AI copilots. In response, we propose Compiler.next , a novel search-based compiler designed to enable the seamless evolution of AI-native software systems as part of the emerging Software Engineering 3.0 era. Unlike traditional static compilers, Compiler.next takes human-written intents and automatically generates working software by searching for an optimal solution. This process involves dynamic optimization of cognitive architectures and their constituents (e.g., prompts, foundation model configurations, and system parameters) while finding the optimal trade-off between several objectives, such as accuracy, cost, and latency. This paper outlines the architecture of Compiler.next and positions it as a cornerstone in democratizing software development by lowering the technical barrier for non-experts, enabling scalable, adaptable, and reliable AI-powered software. We present a roadmap to address the core challenges in intent compilation, including developing quality programming constructs, effective search heuristics, reproducibility, and interoperability between compilers. Our vision lays the groundwork for fully automated, search-driven software development, fostering faster innovation and more efficient AI-driven systems.
- 28 March 2026
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
Open AccessCompiler.next: A Search-Based Compiler to Power the AI-Native Future of Software Engineering
The rapid advancement of AI-assisted software engineering has brought transformative potential to the field of software engineering, but existing tools and paradigms remain limited by cognitive overload, inefficient tool integration, and the narrow capabilities of AI copilots. In response, we propose Compiler.next , a novel search-based compiler designed to enable the seamless evolution of AI-native software systems as part of the emerging Software Engineering 3.0 era. Unlike traditional static compilers, Compiler.next takes human-written intents and automatically generates working software by searching for an optimal solution. This process involves dynamic optimization of cognitive architectures and their constituents (e.g., prompts, foundation model configurations, and system parameters) while finding the optimal trade-off between several objectives, such as accuracy, cost, and latency. This paper outlines the architecture of Compiler.next and positions it as a cornerstone in democratizing software development by lowering the technical barrier for non-experts, enabling scalable, adaptable, and reliable AI-powered software. We present a roadmap to address the core challenges in intent compilation, including developing quality programming constructs, effective search heuristics, reproducibility, and interoperability between compilers. Our vision lays the groundwork for fully automated, search-driven software development, fostering faster innovation and more efficient AI-driven systems.
- 17 December 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Software
- Vol. 43 (2) , 85-93
Understanding Prompt Management in GitHub Repositories: A Call for Best Practices
The rapid adoption of foundation models (e.g., large language models) has given rise to promptware, i.e., software built using natural language prompts. Effective management of prompts, such as organization and quality assurance, is essential yet challenging. In this study, we perform an empirical analysis of 24,800 open-source prompts from 92 GitHub repositories to investigate prompt management practices and quality attributes. Our findings reveal critical challenges such as considerable inconsistencies in prompt formatting, substantial internal and external prompt duplication, and frequent readability and spelling issues. Based on these findings, we provide actionable recommendations for developers to enhance the usability and maintainability of open-source prompts within the rapidly evolving promptware ecosystem.
- 17 December 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Software
- Vol. 43 (2) , 85-93
Understanding Prompt Management in GitHub Repositories: A Call for Best Practices
The rapid adoption of foundation models (e.g., large language models) has given rise to promptware, i.e., software built using natural language prompts. Effective management of prompts, such as organization and quality assurance, is essential yet challenging. In this study, we perform an empirical analysis of 24,800 open-source prompts from 92 GitHub repositories to investigate prompt management practices and quality attributes. Our findings reveal critical challenges such as considerable inconsistencies in prompt formatting, substantial internal and external prompt duplication, and frequent readability and spelling issues. Based on these findings, we provide actionable recommendations for developers to enhance the usability and maintainability of open-source prompts within the rapidly evolving promptware ecosystem.
- 6 December 2025
- Published by Springer Nature in Empirical Software Engineering
- Vol. 31 (2) , 41
Output format biases in the evaluation of large language models for code translation
- 6 December 2025
- Published by Springer Nature in Empirical Software Engineering
- Vol. 31 (2) , 41
Output format biases in the evaluation of large language models for code translation
- Open Access
- 3 August 2025
- Published by Association for Computing Machinery (ACM)
- p. 6162-6172
The Hitchhikers Guide to Production-ready Trustworthy Foundation Model Powered Software (FMware)
- 3 August 2025
- Published by Association for Computing Machinery (ACM)
- p. 6162-6172
Open AccessThe Hitchhikers Guide to Production-ready Trustworthy Foundation Model Powered Software (FMware)
- Open Access
- 23 June 2025
- Published by Association for Computing Machinery (ACM)
- p. 1231-1233
A Tutorial on Software Engineering for FMware
- 23 June 2025
- Published by Association for Computing Machinery (ACM)
- p. 1231-1233
Open AccessA Tutorial on Software Engineering for FMware
- Open Access
- 24 March 2025
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
An empirical study on vulnerability disclosure management of open source software systems
Vulnerability disclosure is critical for ensuring the security and reliability of open source software (OSS). However, in practice, many vulnerabilities are reported and discussed on public platforms before being formally disclosed, posing significant risks to vulnerability management. Inadequate vulnerability disclosure can expose users to security threats and severely impact the stability and reliability of software systems. For example, prior work shows that over 21% of CVEs are publicly discussed before a patch is released. Despite its importance, we still lack clarity on the vulnerability disclosure practices adopted by open source communities and the preferences of practitioners regarding vulnerability management. To fill this gap, we analyzed the vulnerability disclosure practices of 8,073 OSS projects spanning from 2017 to 2023. We then conducted an empirical study by surveying practitioners about their preferences and recommendations in vulnerability disclosure management. Finally, we compared the survey results with the actual vulnerability practice observed within the OSS projects. Our results show that while over 80% of practitioners support Coordinated Vulnerability Disclosure (CVD), only 55% of vulnerabilities conform to CVD in practice. Although only 20% of practitioners advocate discussions before disclosure, 42% of vulnerabilities are discussed in issue reports before their disclosure. This study reveals the vulnerability management practices in OSS, provides valuable guidance to OSS owners, and highlights potential directions to improve the security of OSS platforms.
- 24 March 2025
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Software Engineering and Methodology
Open AccessAn empirical study on vulnerability disclosure management of open source software systems
Vulnerability disclosure is critical for ensuring the security and reliability of open source software (OSS). However, in practice, many vulnerabilities are reported and discussed on public platforms before being formally disclosed, posing significant risks to vulnerability management. Inadequate vulnerability disclosure can expose users to security threats and severely impact the stability and reliability of software systems. For example, prior work shows that over 21% of CVEs are publicly discussed before a patch is released. Despite its importance, we still lack clarity on the vulnerability disclosure practices adopted by open source communities and the preferences of practitioners regarding vulnerability management. To fill this gap, we analyzed the vulnerability disclosure practices of 8,073 OSS projects spanning from 2017 to 2023. We then conducted an empirical study by surveying practitioners about their preferences and recommendations in vulnerability disclosure management. Finally, we compared the survey results with the actual vulnerability practice observed within the OSS projects. Our results show that while over 80% of practitioners support Coordinated Vulnerability Disclosure (CVD), only 55% of vulnerabilities conform to CVD in practice. Although only 20% of practitioners advocate discussions before disclosure, 42% of vulnerabilities are discussed in issue reports before their disclosure. This study reveals the vulnerability management practices in OSS, provides valuable guidance to OSS owners, and highlights potential directions to improve the security of OSS platforms.
- 6 March 2025
- Published by Springer Nature in Empirical Software Engineering
- Vol. 30 (3) , 1-63
Towards semantic versioning of open pre-trained language model releases on hugging face
- 6 March 2025
- Published by Springer Nature in Empirical Software Engineering
- Vol. 30 (3) , 1-63
Towards semantic versioning of open pre-trained language model releases on hugging face
- Open Access
Continuous Integration Practices in Machine Learning Projects: The Practitioners` Perspective
Continuous Integration (CI) is a cornerstone of modern software development. However, while widely adopted in traditional software projects, applying CI practices to Machine Learning (ML) projects presents distinctive characteristics. For example, our previous work revealed that ML projects often experience longer build durations and lower test coverage rates compared to their non-ML counterparts. Building on these quantitative findings, this study surveys 155 practitioners from 47 ML projects to investigate the underlying reasons for these distinctive characteristics through a qualitative perspective. Practitioners highlighted eight key differences, including test complexity, infrastructure requirements, and build duration and stability. Common challenges mentioned by practitioners include higher project complexity, model training demands, extensive data handling, increased computational resource needs, and dependency management, all contributing to extended build durations. Furthermore, ML systems' non-deterministic nature, data dependencies, and computational constraints were identified as significant barriers to effective testing. The key takeaway from this study is that while foundational CI principles remain valuable, ML projects require tailored approaches to address their unique challenges. To bridge this gap, we propose a set of ML-specific CI practices, including tracking model performance metrics and prioritizing test execution within CI pipelines. Additionally, our findings highlight the importance of fostering interdisciplinary collaboration to strengthen the testing culture in ML projects. By bridging quantitative findings with practitioners' insights, this study provides a deeper understanding of the interplay between CI practices and the unique demands of ML projects, laying the groundwork for more efficient and robust CI strategies in this domain.
Open AccessContinuous Integration Practices in Machine Learning Projects: The Practitioners` Perspective
Continuous Integration (CI) is a cornerstone of modern software development. However, while widely adopted in traditional software projects, applying CI practices to Machine Learning (ML) projects presents distinctive characteristics. For example, our previous work revealed that ML projects often experience longer build durations and lower test coverage rates compared to their non-ML counterparts. Building on these quantitative findings, this study surveys 155 practitioners from 47 ML projects to investigate the underlying reasons for these distinctive characteristics through a qualitative perspective. Practitioners highlighted eight key differences, including test complexity, infrastructure requirements, and build duration and stability. Common challenges mentioned by practitioners include higher project complexity, model training demands, extensive data handling, increased computational resource needs, and dependency management, all contributing to extended build durations. Furthermore, ML systems' non-deterministic nature, data dependencies, and computational constraints were identified as significant barriers to effective testing. The key takeaway from this study is that while foundational CI principles remain valuable, ML projects require tailored approaches to address their unique challenges. To bridge this gap, we propose a set of ML-specific CI practices, including tracking model performance metrics and prioritizing test execution within CI pipelines. Additionally, our findings highlight the importance of fostering interdisciplinary collaboration to strengthen the testing culture in ML projects. By bridging quantitative findings with practitioners' insights, this study provides a deeper understanding of the interplay between CI practices and the unique demands of ML projects, laying the groundwork for more efficient and robust CI strategies in this domain.
- 27 January 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 51 (4) , 929-946
On the Workflows and Smells of Leaderboard Operations (LBOps): An Exploratory Study of Foundation Model Leaderboards
Foundation models (FM), such as large language models (LLMs), which are large-scale machine learning (ML) models, have demonstrated remarkable adaptability in various downstream software engineering (SE) tasks, such as code completion, code understanding, and software development. As a result, FM leaderboards have become essential tools for SE teams to compare and select the best third-party FMs for their specific products and purposes. However, the lack of standardized guidelines for FM evaluation and comparison threatens the transparency of FM leaderboards and limits stakeholders’ ability to perform effective FM selection. As a first step towards addressing this challenge, our research focuses on understanding how these FM leaderboards operate in real-world scenarios (“leaderboard operations”) and identifying potential pitfalls and areas for improvement (“leaderboard smells”). In this regard, we collect up to 1, 045 FM leaderboards from five different sources: GitHub, Hugging Face Spaces, Papers With Code, spreadsheet and independent platform, to examine their documentation and engage in direct communication with leaderboard operators to understand their workflows. Through card sorting and negotiated agreement, we identify five distinct workflow patterns and develop a domain model that captures the key components and their interactions within these workflows. We then identify eight unique types of leaderboard smells in LBOps. By mitigating these smells, SE teams can improve transparency, accountability, and collaboration in current LBOps practices, fostering a more robust and responsible ecosystem for FM comparison and selection.
- 27 January 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 51 (4) , 929-946
On the Workflows and Smells of Leaderboard Operations (LBOps): An Exploratory Study of Foundation Model Leaderboards
Foundation models (FM), such as large language models (LLMs), which are large-scale machine learning (ML) models, have demonstrated remarkable adaptability in various downstream software engineering (SE) tasks, such as code completion, code understanding, and software development. As a result, FM leaderboards have become essential tools for SE teams to compare and select the best third-party FMs for their specific products and purposes. However, the lack of standardized guidelines for FM evaluation and comparison threatens the transparency of FM leaderboards and limits stakeholders’ ability to perform effective FM selection. As a first step towards addressing this challenge, our research focuses on understanding how these FM leaderboards operate in real-world scenarios (“leaderboard operations”) and identifying potential pitfalls and areas for improvement (“leaderboard smells”). In this regard, we collect up to 1, 045 FM leaderboards from five different sources: GitHub, Hugging Face Spaces, Papers With Code, spreadsheet and independent platform, to examine their documentation and engage in direct communication with leaderboard operators to understand their workflows. Through card sorting and negotiated agreement, we identify five distinct workflow patterns and develop a domain model that captures the key components and their interactions within these workflows. We then identify eight unique types of leaderboard smells in LBOps. By mitigating these smells, SE teams can improve transparency, accountability, and collaboration in current LBOps practices, fostering a more robust and responsible ecosystem for FM comparison and selection.