Cookies Policy
We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out More
Close
  • Menu
About

About

João Pascoal Faria holds a PhD in Electrical and Computer Engineering from the Faculty of Engineering of the University of Porto in 1999, where he is currently Associate Professor at the Department of Informatics Engineering and Director of the Integrated Master in Informatics and Computing Engineering (MIEIC). He his a member of the Software Engineering Research Group (softeng.fe.up.pt) and researcher at INESC TEC, where he coordinates the Software Engineering area. He represents FEUP and INESC TEC in the Technical Comission for Health Informatics (CT 199) and FEUP as President of the Sectorial Comission for the Quality of Information and Communications Technology (CS/03), in the scope of the Portuguese Quality Institute (IPQ). In the past, he worked with several software companies (Novabase Saúde, Sidereus, Medidata) and was a co-founder of two other (Qualisoft and Strongstep). He has more than 25 years of experience in education, research, development and consultancy in several software engineering areas. He is the main author of a rapid application development tool (SAGA), based on domain specific languages, with more than 25 years of market presence and evolution (1989-present). He is currently involved in research projects, supervisions and consulting activities in the areas of model-based testing, software process improvement and model-driven development.

Interest
Topics
Details

Details

  • Name

    João Pascoal Faria
  • Cluster

    Computer Science
  • Role

    Area Manager
  • Since

    14th October 1985
001
Publications

2017

A Survey on Testing Distributed and Heterogeneous Systems: The State of the Practice

Authors
Lima, B; Faria, JP;

Publication
Communications in Computer and Information Science - Software Technologies

Abstract

2017

Towards Decentralized Conformance Checking in Model-Based Testing of Distributed Systems

Authors
Lima, BMC; Faria, JCP;

Publication
Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2017

Abstract
In a growing number of domains, the provisioning of end-to-end services to the users depends on the proper interoperation of multiple products, forming a new distributed system. To ensure interoperability and the integrity of this new distributed system, it is important to conduct integration tests that verify not only the interactions with the environment but also the interactions between the system components. Integration test scenarios for that purpose may be conveniently specified by means of UML sequence diagrams, possibly allowing multiple execution paths. The automation of such integration tests requires that test components are also distributed, with a local tester deployed close to each system component, and a central tester coordinating the local testers. In such a test architecture, it is important to minimize the communication overhead during test execution. Hence, in this paper we investigate conditions upon which conformance errors can be detected locally (local observability) and test inputs can be decided locally (local controllability) by the local testers, without the need for exchanging coordination messages between the test components during test execution. The conditions are specified in a formal specification language that allows executing and validating the specification. Examples of test scenarios are also presented, illustrating local observability and controllability problems associated with optional messages without corresponding acknowledgment messages, races and non-local choices. © 2017 IEEE.

2017

Helping software engineering students analyzing their performance data: tool support in an educational environment

Authors
Raza, M; Faria, JP; Salazar, R;

Publication
Proceedings of the 39th International Conference on Software Engineering, ICSE 2017, Buenos Aires, Argentina, May 20-28, 2017 - Companion Volume

Abstract
Process PAIR is a novel tool for automating the performance analysis of software developers. Based on a performance model calibrated from the performance data of many developers, it automatically identifies and ranks potential performance problems and root causes of individual developers. We present the results of a controlled experiment involving 61 software engineering master students, half of whom used ProcessPAIR in a performance analysis assignment. The results show significant benefits in terms of students' satisfaction (average score of 4.78 out of 5 for ProcessPAIR users, against 3.81 for other users), quality of the analysis outcomes (average grades achieved of 88.1 out of 100 for ProcessPAIR users, against 82.5 for other users), and time required to do the analysis (average of 252 min for ProcessPAIR users, against 262 min for other users, but with much room for improvement). © 2017 IEEE.

2017

WebProcessPAIR: recommendation system for software process improvement

Authors
Raza, M; Faria, JP; Amaro, L; Henriques, PC;

Publication
Proceedings of the 2017 International Conference on Software and System Process, Paris, France, ICSSP 2017, July 5-7, 2017

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. © 2017 Association for Computing Machinery.

2017

Conformance Checking in Integration Testing of Time-constrained Distributed Systems based on UML Sequence Diagrams

Authors
Lima, B; Faria, JP;

Publication
Proceedings of the 12th International Conference on Software Technologies, ICSOFT 2017, Madrid, Spain, July 24-26, 2017.

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. Copyright

Supervised
thesis

2016

Automação de testes de aplicações móveis sem necessidade de programação

Author
Tiago Fernando Sousa Coelho

Institution
UP-FEUP

2016

Improving Courses Management by Predicting the Number of Students

Author
Vasco Taveira Gomes

Institution
UP-FEUP

2016

Automated Scenario-based Testing of Distributed and Heterogeneous Systems

Author
Bruno Miguel Carvalhido Lima

Institution
UP-FEUP

2016

Aplicação Industrial de Técnicas de Análise Causal Para Prevenção de Defeitos de Software

Author
Fátima Cristina Oliveira Airosa

Institution
UP-FEUP

2016

Automated Software Process Performance Analysis and Improvement Recommendation

Author
Mushtaq Raza

Institution
UP-FEUP