Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Sobre

Sobre

João Pascoal Faria tem um doutoramento em Engenharia Electrotécnica e de Computadores pela Faculdade de Engenharia da Universidade do Porto em 1999, onde é atualmente Professor Associado no Departamento de Engenharia Informática e Diretor do Mestrado Integrado em Engenharia Informática e Computação. É membro do Grupo de Investigação em Engenharia de Software (softeng.fe.up.pt) e investigador do INESC TEC, onde coordena a área de Engenharia de Software. Representa a FEUP e o INESC TEC na Comissão Técnica de Sistemas de Informação para a Saúde (CT 199) e a FEUP como Presidente da Comissão Setorial para a Qualidade das Tecnologia da Informação e das Comunicações (CS/03), no âmbito do Instituto Português da Qualidade (IPQ). No passado, trabalhou com várias empresas de software (Novabase Saúde, Sidereus, Medidata) e foi co-fundador de outras duas (QualiSoft e Strongstep). Tem mais de 25 anos de experiência em ensino, investigação, desenvolvimento e consultoria em diversas áreas de engenharia de software. É o principal autor de uma ferramenta de desenvolvimento rápido de aplicações (SAGA), com base em linguagens específicas de domínio, com mais de 25 anos de presença no mercado e evolução (1989-presente). Está atualmente envolvido em projectos de investigação, supervisões e atividades de consultoria nas áreas de teste de software baseado em modelos, melhoria de processos de software e desenvolvimento conduzido por modelos.

Tópicos
de interesse
Detalhes

Detalhes

  • Nome

    João Pascoal Faria
  • Cargo

    Investigador Sénior
  • Desde

    14 outubro 1985
001
Publicações

2023

Applying Machine Learning to Estimate the Effort and Duration of Individual Tasks in Software Projects

Autores
Sousa, AO; Veloso, DT; Goncalves, HM; Faria, JP; Mendes Moreira, J; Graca, R; Gomes, D; Castro, RN; Henriques, PC;

Publicação
IEEE ACCESS

Abstract
Software estimation is a vital yet challenging project management activity. Various methods, from empirical to algorithmic, have been developed to fit different development contexts, from plan-driven to agile. Recently, machine learning techniques have shown potential in this realm but are still underexplored, especially for individual task estimation. We investigate the use of machine learning techniques in predicting task effort and duration in software projects to assess their applicability and effectiveness in production environments, identify the best-performing algorithms, and pinpoint key input variables (features) for predictions. We conducted experiments with datasets of various sizes and structures exported from three project management tools used by partner companies. For each dataset, we trained regression models for predicting the effort and duration of individual tasks using eight machine learning algorithms. The models were validated using k-fold cross-validation and evaluated with several metrics. Ensemble algorithms like Random Forest, Extra Trees Regressor, and XGBoost consistently outperformed non-ensemble ones across the three datasets. However, the estimation accuracy and feature importance varied significantly across datasets, with a Mean Magnitude of Relative Error (MMRE) ranging from 0.11 to 9.45 across the datasets and target variables. Nevertheless, even in the worst-performing dataset, effort estimates aggregated to the project level showed good accuracy, with MMRE = 0.23. Machine learning algorithms, especially ensemble ones, seem to be a viable option for estimating the effort and duration of individual tasks in software projects. However, the quality of the estimates and the relevant features may depend largely on the characteristics of the available datasets and underlying projects. Nevertheless, even when the accuracy of individual estimates is poor, the aggregated estimates at the project level may present a good accuracy due to error compensation.

2023

Case Studies of Development of Verified Programs with Dafny for Accessibility Assessment

Autores
Faria, JP; Abreu, R;

Publicação
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

Abstract
Formal verification techniques aim at formally proving the correctness of a computer program with respect to a formal specification, but the expertise and effort required for applying formal specification and verification techniques and scalability issues have limited their practical application. In recent years, the tremendous progress with SAT and SMT solvers enabled the construction of a new generation of tools that promise to make formal verification more accessible for software engineers, by automating most if not all of the verification process. The Dafny system is a prominent example of that trend. However, little evidence exists yet about its accessibility. To help fill this gap, we conducted a set of 10 case studies of developing verified implementations in Dafny of some real-world algorithms and data structures, to determine its accessibility for software engineers. We found that, on average, the amount of code written for specification and verification purposes is of the same order of magnitude as the traditional code written for implementation and testing purposes (ratio of 1.14) – an “overhead” that certainly pays off for high-integrity software. The performance of the Dafny verifier was impressive, with 2.4 proof obligations generated per line of code written, and 24 ms spent per proof obligation generated and verified, on average. However, we also found that the manual work needed in writing auxiliary verification code may be significant and difficult to predict and master. Hence, further automation and systematization of verification tasks are possible directions for future advances in the field. © 2023, IFIP International Federation for Information Processing.

2023

Towards Computer Assisted Compliance Assessment in the Development of Software as a Medical Device

Autores
Farshid, S; Lima, B; Faria, JP;

Publicação
Proceedings of the 18th International Conference on Software Technologies, ICSOFT 2023, Rome, Italy, July 10-12, 2023.

Abstract

2022

A Pattern-Based Test Platform for Families of Smart Health Products

Autores
Almeida, P; Faria, JP; Lima, B;

Publicação
2022 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY, QRS

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.

2021

An analysis of Monte Carlo simulations for forecasting software projects

Autores
Miranda, P; Faria, JP; Correia, FF; Fares, A; Graça, R; Moreira, JM;

Publicação
SAC '21: The 36th ACM/SIGAPP Symposium on Applied Computing, Virtual Event, Republic of Korea, March 22-26, 2021

Abstract
Forecasts of the effort or delivery date can play an important role in managing software projects, but the estimates provided by development teams are often inaccurate and time-consuming to produce. This is not surprising given the uncertainty that underlies this activity. This work studies the use of Monte Carlo simulations for generating forecasts based on project historical data. We have designed and run experiments comparing these forecasts against what happened in practice and to estimates provided by developers, when available. Comparisons were made based on the mean magnitude of relative error (MMRE). We did also analyze how the forecasting accuracy varies with the amount of work to be forecasted and the amount of historical data used. To minimize the requirements on input data, delivery date forecasts for a set of user stories were computed based on takt time of past stories (time elapsed between the completion of consecutive stories); effort forecasts were computed based on full-time equivalent (FTE) hours allocated to the implementation of past stories. The MMRE of delivery date forecasting was 32% in a set of 10 runs (for different projects) of Monte Carlo simulation based on takt time. The MMRE of effort forecasting was 20% in a set of 5 runs of Monte Carlo simulation based on FTE allocation, much smaller than the MMRE of 134% of developers' estimates. A better forecasting accuracy was obtained when the number of historical data points was 20 or higher. These results suggest that Monte Carlo simulations may be used in practice for delivery date and effort forecasting in agile projects, after a few initial sprints. © 2021 ACM.

Teses
supervisionadas

2022

Exploração de metodologias de Odometria e Mapeamento 3D baseado em LiDAR

Autor
EDUARDO DANIEL MACHADO MARQUES

Instituição
IPP-ISEP

2022

Uso de text mining na determinação da relação entre instituições de investigação e empresas

Autor
SÉRGIO RICARDO MAGALHÃES MARQUES DA SILVA

Instituição
IPP-ISEP

2022

Low-Code Data Model Designer

Autor
Ana Isabel Ferreira Maia

Instituição
UP-FEUP

2022

Serviço de pesquisa de notícias em português para criação de jornais escolares digitais

Autor
Ana Mafalda de Oliveira Santos

Instituição
UP-FEUP

2022

Sistema Inteligente de Prevenção de Colisões para Robô Móvel Autónomo em Estufas

Autor
JOÃO PEDRO PIRES JACOB CORREIA MARTINS

Instituição
IPP-ISEP