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
Download foto HD

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
  • Cluster

    Informática
  • Cargo

    Investigador Sénior
  • Desde

    14 outubro 1985
002
Publicações

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.

2021

An analysis of the state of the art of machine learning for risk assessment in software projects

Autores
Sousa A.; Faria J.P.; Mendes-Moreira J.;

Publicação
Proceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKE

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.

2021

Applying Machine Learning to Risk Assessment in Software Projects

Autores
Sousa, A; Faria, JP; Mendes-Moreira, J; Gomes, D; Henriques, PC; Graca, R;

Publicação
MACHINE LEARNING AND PRINCIPLES AND PRACTICE OF KNOWLEDGE DISCOVERY IN DATABASES, PT II

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, especially with the application of machine learning techniques to help identify risk levels of risk factors of a project before its development begins, with the goal of improving the likelihood of success of these projects. This paper presents the results of the application of machine learning techniques for risk assessment in software projects. A Python application was developed and, using Scikit-learn, two machine learning models, trained using software project risk data shared by a partner company of this project, were created to predict risk impact and likelihood levels on a scale of 1 to 3. Different algorithms were tested to compare the results obtained by high performance but non-interpretable algorithms (e.g., Support Vector Machine) and the ones obtained by interpretable algorithms (e.g., Random Forest), whose performance tends to be lower than their non-interpretable counterparts. The results showed that Support Vector Machine and Naive Bayes were the best performing algorithms. Support Vector Machine had an accuracy of 69% in predicting impact levels, and Naive Bayes had an accuracy of 63% in predicting likelihood levels, but the results presented in other evaluation metrics (e.g., AUC, Precision) show the potential of the approach presented in this use case.

2020

Visual Self-healing Modelling for Reliable Internet-of-Things Systems

Autores
Dias, JP; Lima, B; Faria, JP; Restivo, A; Ferreira, HS;

Publicação
Computational Science - ICCS 2020 - 20th International Conference, Amsterdam, The Netherlands, June 3-5, 2020, Proceedings, Part V

Abstract

2020

Local Observability and Controllability Analysis and Enforcement in Distributed Testing with Time Constraints

Autores
Lima, B; Faria, JP; Hierons, R;

Publicação
IEEE ACCESS

Abstract

Teses
supervisionadas

2021

Mock Testing Framework for a Fire Detection System

Autor
Guilherme de Castro Oliveira

Instituição
UP-FEUP

2021

High-speed and High-assurance Cryptographic Software

Autor
Tiago Filipe Azevedo Oliveira

Instituição
UP-FCUP

2021

Assessing Risks in Software Projects Through Machine Learning Approaches

Autor
André Oliveira Sousa

Instituição
UP-FEUP

2021

Tool for Incremental Database Migration

Autor
Fernando Jorge Coelho Barreira Calheiros Alves

Instituição
UP-FEUP

2021

Inovação no Setor de Mineração e suas Implicações para o Desenvolvimento Sustentável

Autor
Michael Costa marques

Instituição
UP-FEUP