João Pascoal Faria

dblp:08/2901 · DBLP profile ↗
← Back
29ranked-venue papers
3as first author
7since 2021 · last 2026
0000-0003-3825-3954ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 25 · 2 first-author · 7 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 first-authorArtificial intelligence and machine learning · 3 · 1 since 2021Human-computer interaction and ubiquitous computing · 1Theory of computation · 1
YearPublicationVenuePosition
2026 APITestGenie: Generating Web API Tests from Requirements and API Specifications with LLMs
abstract
Modern software systems rely heavily on Web APIs, yet creating meaningful and executable test scripts remains a largely manual, time-consuming, and error-prone task. In this paper, we present APITestGenie, a novel tool that leverages Large Language Models (LLMs), Retrieval-Augmented Generation (RAG), and prompt engineering to automatically generate API integration tests directly from business requirements and OpenAPI specifications. We evaluated APITestGenie on 10 real-world APIs, including 8 APIs comprising circa 1,000 live endpoints from an industrial partner in the automotive domain. The tool was able to generate syntactically and semantically valid test scripts for 89% of the business requirements under test after at most three attempts. Notably, some generated tests revealed previously unknown defects in the APIs, including integration issues between endpoints. Statistical analysis identified API complexity and level of detail in business requirements as primary factors influencing success rates, with the level of detail in API documentation also affecting outcomes. Feedback from industry practitioners confirmed strong interest in adoption, substantially reducing the manual effort in writing acceptance tests, and improving the alignment between tests and business requirements.
Bruno Lima, João Pascoal Faria
AST3
2025 Acceptance Test Generation with Large Language Models: An Industrial Case Study
abstract
Large language model (LLM)-powered assistants are increasingly used for generating program code and unit tests, but their application in acceptance testing remains underexplored. To help address this gap, this paper explores the use of LLMs for generating executable acceptance tests for web applications through a two-step process: (i) generating acceptance test scenarios in natural language (in Gherkin) from user stories, and (ii) converting these scenarios into executable test scripts (in Cypress), knowing the HTML code of the pages under test. This two-step approach supports acceptance test-driven development, enhances tester control, and improves test quality. The two steps were implemented in the AutoUAT and Test Flow tools, respectively, powered by GPT-4 Turbo, and integrated into a partner company’s workflow and evaluated on real-world projects. The users found the acceptance test scenarios generated by AutoUAT helpful 95% of the time, even revealing previously overlooked cases. Regarding Test Flow, 92% of the acceptance test cases generated by Test Flow were considered helpful: 60% were usable as generated, 8% required minor fixes, and 24% needed to be regenerated with additional inputs; the remaining 8% were discarded due to major issues. These results suggest that LLMs can, in fact, help improve the acceptance test process, with appropriate tooling and supervision.
Margarida Ferreira, Luís Viegas, João Pascoal Faria, Bruno Lima
AST3
2025 Automated Social Media Feedback Analysis for Software Requirements Elicitation: A Case Study in the Streaming Industry
Melissa Silva, João Pascoal Faria
ENASE2
2025 Streamlining Acceptance Test Generation for Mobile Applications Through Large Language Models: An Industrial Case Study
abstract
Mobile acceptance testing remains a bottleneck in modern software development, particularly for cross-platform mobile development using frameworks like Flutter. While developers increasingly rely on automated testing tools, creating and maintaining acceptance test artifacts still demands significant manual effort. To help tackle this issue, we introduce AToMIC, an automated framework leveraging specialized Large Language Models to generate Gherkin scenarios, Page Objects, and executable UI test scripts directly from requirements (JIRA tickets) and recent code changes. Applied to BMW’s MyBMW app, covering 13 real-world issues in a 170+ screen codebase, AToMIC produced executable test artifacts in under five minutes per feature on standard hardware. The generated artifacts were of high quality: 93.3% of Gherkin scenarios were syntactically correct upon generation, 78.8% of PageObjects ran without manual edits, and 100% of generated UI tests executed successfully. In a survey, all practitioners reported time savings (often a full developer-day per feature) and strong confidence in adopting the approach. These results confirm AToMIC as a scalable, practical solution for streamlining acceptance test creation and maintenance in industrial mobile projects.
Pedro Luís Fonseca, Bruno Lima, João Pascoal Faria
ASE3
2023 Towards Computer Assisted Compliance Assessment in the Development of Software as a Medical Device
Sadra Farshid, Bruno Lima, João Pascoal Faria
ICSOFT3
2022 A Pattern-Based Test Platform for Families of Smart Health Products
abstract
One of the most critical ICT application domains is healthcare, where a single failure can lead a patient into a hazardous situation. Due to this, there’s a great necessity to ensure that the developed solutions are safe and secure and perform as expected. Smart-Health-4-All (SH4ALL) is a project aiming at accelerating the research, development, commercialization, and dissemination of trustworthy smart health solutions in Portugal. One of the key components of the project is a web platform that supports the generation of integration and system tests for smart health solutions (comprising medical devices, applications, etc.), following a software product line approach. At the domain engineering level, the platform supports the creation of feature models and related test patterns for families of smart health products. At the product engineering level, the platform supports the instantiation of test patterns and the generation of corresponding test scripts ready for execution on specific products under test. This paper presents the aforementioned test platform and test process, and the discovery of test patterns.
João Pascoal Faria, Bruno Lima
QRS2
2021 An Analysis of the State of the Art of Machine Learning for Risk Assessment in Software Projects (S)
abstract
Risk management is one of the ten knowledge areas discussed in the Project Management Body of Knowledge (PMBOK), which serves as a guide that should be followed to increase the chances of project success.The popularity of research regarding the application of risk management in software projects has been consistently growing in recent years, particularly with the application of machine learning techniques to help identify risk levels or risk factors of a project before the project development begins, with the intent of improving the likelihood of success of software projects.This paper provides an overview of various concepts related to risk and risk management in software projects, including traditional techniques used to identify and control risks in software projects, as well as machine learning techniques and methods which have been applied to provide better estimates and classification of the risk levels and risk factors that can be encountered during the development of a software project.The paper also presents an analysis of machine learning oriented risk management studies and experiments found in the literature as a way of identifying the type of inputs and outputs, as well as frequent algorithms used in this research area.
André Sousa, João Pascoal Faria, João Mendes-Moreira 0001
SEKE2
2020 A living lab for professional skills development in Software Engineering Management at U.Porto
abstract
Over the past decades, software engineering has reached a level of maturity which entails great challenges in its education. Universities must prepare students to real-life challenges by offering courses to aid students in developing several vital skills which go beyond hard skills (e.g., communication skills and self-management). At the Faculty of Engineering of the University of Porto, a pioneering course, dubbed Project Management Laboratory, offers the proper environment for students to develop such skills by inviting industry to be closely involved in the education of the students. This course integrates practice and theory in a setting close to what the students will face when they move into industry. This paper reports on the experience, results, and benefits of this innovative course.
Gil Gonçalves 0002, Raquel F. Ch. Meneses, João Pascoal Faria, Raul Moreira Vidal
EDUCON3
2019 Automatic Calibration of Performance Indicators for Performance Analysis in Software Development (S)
abstract
ProcessPAIR is a novel method and tool for automating the performance analysis in software development.Based on performance models structured by process experts and calibrated from the performance data of many developers, it automatically identifies and ranks potential performance problems and root causes of individual developers.However, the current calibration method is not fully automatic, because, in the case of performance indicators that affect other indicators in a conflicting way, the process expert has to manually calibrate the optimal value in a way that balances those impacts.In this paper we propose a novel method to automate this step, taking advantage of training data sets.We demonstrate the feasibility of the method with an example related with the Code Review Rate indicator, with conflicting impacts on Productivity and Quality.
Mushtaq Raza, João Pascoal Faria
SEKE2
2019 Assisting software engineering students in analyzing their performance in software development
Mushtaq Raza, João Pascoal Faria, Rafael Salazar
Softw. Qual. J.2
2018 Towards Real-Time Patient Prioritization in Hospital Emergency Services
abstract
Industrial cyber-physical systems are becoming increasingly popular and starting to emerge as a response to society's problems using the Internet of Things to create real-time solutions capable of analyzing large amounts of data. In this article, taking advantage of this type of technology, we present a patient prioritization system for hospital emergency services. Our system responds to the problems that occur in hospitals when there is a peak in the number of people using the emergency service, increasing the waiting times. In such a situation, the clinical condition of waiting patients may change after the initial triage, requiring immediate care or at least their re-prioritization. The proposed system consists of a combination of a Smart Priority Recommendation and Patient Control System and an Hospital Emergency Smart Band placed in each patient, allowing to detect changes in the vital signs of waiting patients that may indicate that they need immediate care. This system not only improves the quality of emergency services by ensuring a more efficient prioritization of patients, but in extreme cases can help save human lives.
Bruno Lima, João Pascoal Faria
HealthCom2
2018 Automatic Model Transformation from UML Sequence Diagrams to Coloured Petri Nets
abstract
A dependência da sociedade em sistemas de software cada vez mais complexos torna a tarefa de testar e validar estes sistemas cada vez mais importante e desafiante. Em vários casos, múltiplos sistemas independentes e heterogéneos formam um sistema de sistemas responsável por providenciar serviços aos utilizadores e as ferramentas e técnicas atuais de automação de testes aos mesmos oferecem pouco suporte e apoio para para o desempenho desta tarefa. Este trabalho está inserido num projeto de maior escala que tem como objetivo produzir uma ferramenta de Model-based Testing que automatizará o processo de teste de sistemas distribuídos, a partir de diagramas de sequência UML. Estes diagramas definem graficamente a interação entre os diferentes módulos de um sistema e os seus atores de uma forma sequencial, facilitando a compreensão do funcionamento do sistema e possibilitando a definição de secções críticas dos sistemas distribuídos como situações de concorrência e paralelismo. Esta dissertação pretende desenvolver um dos componentes deste projeto que terá como objetivo a conversão dos diagramas descritivos do sistema em Petri Nets. Petri Nets são um formalismo de modelação que é indicado para descrição de sistemas distribuídos pela sua capacidade de definição de tarefas de comunicação e de sincronização, e pela possibilidade de execução usando ferramentas como CPN Tools. O objetivo será a definição de regras de tradução Model-to-Model que permitirão a conversão de modelos, de modo a possibilitar a integração com o sistema desejado, tirando partido de frameworks existentes de transformação de modelos (por exemplo, EMF - Eclipse Modeling Framework). Com isto conseguimos esconder a complexidade da análise do sistema ao utilizador (Software Tester) introduzindo automação, geração e execução de testes a partir dos diagramas de casos de teste, e apresentando os resultados (Erros e Cobertura de Código) visualmente. Este documento está dividido em quatro secções. A primeira secção apresenta o contexto e motivação para a dissertação e define o problema e objetivos. A segunda secção consiste no resumo dos conceitos necessários à compreensão da dissertação, o estado da arte dos estudos neste domínio e análise das ferramentas para implementar a solu�\xA7ão. A terceira secção explica a arquitetura e as escolhas tecnológicas para a solução proposta. Finalmente, a última secção explica as conclusões para este estudo e define o plano para trabalho futuro.
João António Custódio Soares, Bruno Lima, João Pascoal Faria
MODELSWARD3
2017 Conformance Checking in Integration Testing of Time-constrained Distributed Systems based on UML Sequence Diagrams
abstract
The provisioning of a growing number of services depends on the proper interoperation of multiple products, forming a new distributed system, often subject to timing requirements.To ensure the interoperability and timely behavior of this new distributed system, it is important to conduct integration tests that verify the interactions with the environment and between the system components.Integration test scenarios for that purpose may be conveniently specified by means of UML sequence diagrams (SDs) enriched with time constraints.The automation of such integration tests requires that test components are also distributed, with a local tester deployed close to each system component, coordinated by a central tester.The distributed observation of execution events, combined with the impossibility to ensure clock synchronization in a distributed system, poses special challenges for checking the conformance of the observed execution traces against the specification, possibly yielding inconclusive verdicts.Hence, in this paper we investigate decision procedures and criteria to check the conformance of observed execution traces against a specification set by a UML SD enriched with time constraints.The procedures and criteria are specified in a formal language that allows executing and validating the specification.Examples are presented to illustrate the approach.
Bruno Lima, João Pascoal Faria
ICSOFT2
2017 WebProcessPAIR: recommendation system for software process improvement
abstract
ProcessPAIR is a novel tool for helping software developers analyzing their personal performance. Based on a performance model calibrated from the anonymized performance data of many developers and the performance data submitted by an individual developer, it automatically identifies and ranks potential performance problems and their root causes for that developer. In this work we present WebProcessPAIR, which extends ProcessPAIR with the ability to recommend improvement actions to address the root causes identified, based on a crowdsourcing approach. A case study illustrates WebProcessPAIR usage.
Mushtaq Raza, João Pascoal Faria, Luis Amaro, Pedro Castro Henriques
ICSSP2
2016 ProcessPAIR: a tool for automated performance analysis and improvement recommendation in software development
abstract
High-maturity software development processes can generate significant amounts of data that can be periodically analyzed to identify performance problems, determine their root causes and devise improvement actions. However, conducting that analysis manually is challenging because of the potentially large amount of data to analyze and the effort and expertise required. In this paper, we present ProcessPAIR, a novel tool designed to help developers analyze their performance data with less effort, by automatically identifying and ranking performance problems and potential root causes, so that subsequent manual analysis for the identification of deeper causes and improvement actions can be properly focused. The analysis is based on performance models defined manually by process experts and calibrated automatically from the performance data of many developers. We also show how ProcessPAIR was successfully applied for the Personal Software Process (PSP). A video about ProcessPAIR is available in https://youtu.be/dEk3fhhkduo.
Mushtaq Raza, João Pascoal Faria
ASE2
2016 Empirical Evaluation of the ProcessPAIR Tool for Automated Performance Analysis
abstract
Software development processes can generate significant amounts of data that can be periodically analyzed to identify performance problems, determine their root causes and devise improvement actions.However, conducting that analysis manually is challenging because of the potentially large amount of data to analyze and the effort and expertise required.ProcessPAIR is a novel tool designed to help developers analyze their performance data with less effort, by automatically identifying and ranking performance problems and potential root causes.The analysis is based on performance models derived from the performance data of a large community of developers.In this paper, we present the results of an experiment conducted in the context of Personal Software Process (PSP) training, to show that ProcessPAIR is able to accurately identify and rank performance problems and potential root causes of individual developers so that subsequent manual analysis for the identification of deeper causes and improvement actions can be properly focused.
Mushtaq Raza, João Pascoal Faria, Rafael Salazar
SEKE2
2016 A model for analyzing performance problems and root causes in the personal software process
abstract
Abstract High‐maturity software development processes, such as the Team Software Process and the accompanying Personal Software Process (PSP), can generate significant amounts of data that can be periodically analyzed to identify performance problems, determine their root causes, and devise improvement actions. However, there is a lack of tool support for automating that type of analysis, and hence diminish the manual effort and expert knowledge required. So, we propose in this paper a comprehensive performance model, addressing time estimation accuracy, quality, and productivity, to enable the automated (tool based) analysis of performance data produced by PSP developers, namely, identify and rank performance problems and their root causes. A PSP data set referring to more than 30 000 projects was used to validate and calibrate the model. Copyright © 2015 John Wiley & Sons, Ltd.
Mushtaq Raza, João Pascoal Faria
J. Softw. Evol. Process.2
2016 A toolset for conformance testing against UML sequence diagrams based on event-driven colored Petri nets
João Pascoal Faria, Ana C. R. Paiva
Int. J. Softw. Tools Technol. Transf.1
2014 Inferring User Interface Patterns from Execution Traces of Web Applications
Miguel Nabuco, Ana C. R. Paiva, João Pascoal Faria
ICCSA (5)3
2014 A model for analyzing estimation, productivity, and quality performance in the personal software process
abstract
High-maturity software development processes, making intensive use of metrics and quantitative methods, such as the Team Software Process (TSP) and the accompanying Personal Software Process (PSP), can generate a significant amount of data that can be periodically analyzed to identify performance problems, determine their root causes and devise improvement actions. However, there is a lack of tool support for automating the data analysis and the recommendation of improvement actions, and hence diminish the manual effort and expert knowledge required. So, we propose in this paper a comprehensive performance model, addressing time estimation accuracy, quality and productivity, to enable the automated (tool based) analysis of performance data produced in the context of the PSP, namely, identify performance problems and their root causes, and subsequently recommend improvement actions. Performance ranges and dependencies in the model were calibrated and validated, respectively, based on a large PSP data set referring to more than 30,000 finished projects.
Mushtaq Raza, João Pascoal Faria
ICSSP2
2014 A Benchmark-Based Approach for Ranking Root Causes of Performance Problems in Software Development
Mushtaq Raza, João Pascoal Faria
PROFES2
2013 A testing and certification methodology for an Ambient-Assisted Living ecosystem
abstract
To cope with the needs raised by the demographic changes in our society, several Ambient-Assisted Living (AAL) technologies have emerged in recent years, but those `first offers' are often monolithic, incompatible and thus expensive and potentially not sustainable. The AAL4ALL project aims at improving that situation through the development of an open ecosystem of interoperable products and services for AAL, tied together via an integration infrastructure. To that end, the project encompasses the specification of a set of reference models and requirements for interoperable products and services, against which candidate products and services can be tested and certified, and subsequently integrated as components of the ecosystem. This paper proposes a testing and certification methodology for such an ecosystem.
João Pascoal Faria, Bruno Lima, Tiago Boldt Sousa, Angelo Martins
Healthcom1
2013 Techniques and Toolset for Conformance Testing against UML Sequence Diagrams
João Pascoal Faria, Ana C. R. Paiva, Mário Ventura de Castro
ICTSS1
2012 Specification-Driven Unit Test Generation for Java Generic Classes
Francisco Rebello de Andrade, João Pascoal Faria, Antónia Lopes, Ana C. R. Paiva
IFM2
2012 Towards a Framework to Evaluate and Improve the Quality of Implementation of CMMI® Practices
Isabel Lopes Margarido, João Pascoal Faria, Raul Moreira Vidal, Marco Vieira
PROFES2
2011 Test Generation from Bounded Algebraic Specifications using Alloy
Francisco Rebello de Andrade, João Pascoal Faria, Ana C. R. Paiva
ICSOFT (2)2
2010 A Metamodel-Based Approach for Automatic User Interface Generation
António Miguel Rosado da Cruz, João Pascoal Faria
MoDELS (1)2
2009 Adaptive Object-Modelling: Patterns, Tools and Applications
abstract
Adaptive object models, though a well-known architectural pattern, is seldomly used in software projects where, due to their nature, would highly benefit from it. Characteristics such as complexity, reduced literature and case-studies, lack of reusable framework components, and fundamental issues as those regarding runtime evolution, drive developers away. By overcoming these barriers with a set of patterns, tools and applications, and addressing pending research problems, adaptive object models can dramatically alter the way developers design their software. This paper presents a survey in the field, describes the preliminary contributions and outlines the ongoing doctoral work.
Hugo Sereno Ferreira, Ademar Aguiar, João Pascoal Faria
ICSEA3
2009 Automatic Generation of user Interface Models and Prototypes from Domain and Use Case Models
António Miguel Rosado da Cruz, João Pascoal Faria
ICSOFT (1)2