João M. Fernandes

Prof. Dr. João M. Fernandes

Department of Informática, Universidade do Minho, 4710-057 Braga, Portugal
orcid

Research Focus & Metrics

Academic Career Length

32Years (1995-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
1 March 2016 in Information and Software Technology
Verified
Journal Article
Closed access
VGVahid Garousi
Vahid Garousi
João M. FernandesJoão M. Fernandes
João M. Fernandes

14 March 2005
Verified
Conference Paper
Open access
PDF file
MMMiguel Pessoa Monteiro
Miguel Pessoa Monteiro
João M. FernandesJoão M. Fernandes
João M. Fernandes
In this paper, we present a collection of aspect-oriented refactorings covering both the extraction of aspects from object-oriented legacy code and the subsequent tidying up of the resulting aspects. In some cases, this tidying up entails the replacement of the original implementation with a different, centralized design, made possible by modularization. The collection of refactorings includes the extraction of common code in various aspects into abstract superaspects. We review the traditional object-oriented code smells in the light of aspect-orientation and propose some new smells for the detection of crosscutting concerns. In addition, we propose a new code smell that is specific to aspects.

23 April 2019 in Empirical Software Engineering
Verified
Journal Article
Open access
PDF file
VGVahid Garousi
Vahid Garousi
Dietmar PfahlDietmar Pfahl
Dietmar Pfahl
João M. FernandesJoão M. Fernandes
João M. Fernandes
MFMichael Felderer
Michael Felderer
MMMika V. Mäntylä
Mika V. Mäntylä
Bedir TekinerdoganBedir Tekinerdogan
Bedir Tekinerdogan
Research collaboration between industry and academia supports improvement and innovation in industry and helps ensure the industrial relevance of academic research. However, many researchers and practitioners in the community believe that the level of joint industry-academia collaboration (IAC) projects in Software Engineering (SE) research is relatively low, creating a barrier between research and practice. The goal of the empirical study reported in this paper is to explore and characterize the state of IAC with respect to industrial needs, developed solutions, impacts of the projects and also a set of challenges, patterns and anti-patterns identified by a recent Systematic Literature Review (SLR) study. To address the above goal, we conducted an opinion survey among researchers and practitioners with respect to their experience in IAC. Our dataset includes 101 data points from IAC projects conducted in 21 different countries. Our findings include: (1) the most popular topics of the IAC projects, in the dataset, are: software testing, quality, process, and project managements; (2) over 90% of IAC projects result in at least one publication; (3) almost 50% of IACs are initiated by industry, busting the myth that industry tends to avoid IACs; and (4) 61% of the IAC projects report having a positive impact on their industrial context, while 31% report no noticeable impacts or were “not sure”. To improve this situation, we present evidence-based recommendations to increase the success of IAC projects, such as the importance of testing pilot solutions before using them in industry. This study aims to contribute to the body of evidence in the area of IAC, and benefit researchers and practitioners. Using the data and evidence presented in this paper, they can conduct more successful IAC projects in SE by being aware of the challenges and how to overcome them, by applying best practices (patterns), and by preventing anti-patterns.

1 March 2010
Verified
Conference Paper
Closed access
João M. FernandesJoão M. Fernandes
João M. Fernandes
SSSónia M. Sousa
Sónia M. Sousa
To motivate and engage students and, consequently, improve the quality of learning, some researchers suggest new ways of teaching, including the use of serious games in the classroom. This paper describes PlayScrum, a new card game devised to allow university-level students to learn Scrum, an agile software development method. We present the card game, its rules, and how it supports the main concepts of the Scrum method. We also discuss how PlayScrum was validated, based on questionnaires filled in by master students who have played it.

30 June 2021 in International Journal of Intelligent Systems
Verified
Journal Article
Closed access
PDF file
JMJosé Pedro Monteiro
José Pedro Monteiro
DRDiogo Ramos
Diogo Ramos
Davide CarneiroDavide Carneiro
Davide Carneiro
FDFrancisco Duarte
Francisco Duarte
João M. FernandesJoão M. Fernandes
João M. Fernandes
Paulo NovaisPaulo Novais
Paulo Novais

1 May 2007
Verified
Conference Paper
Closed access
João M. FernandesJoão M. Fernandes
João M. Fernandes
STSimon Tjell
Simon Tjell
JJJens Baek Jorgensen
Jens Baek Jorgensen
OROscar Ribeiro
Oscar Ribeiro
Using a case study on the specification of an elevator controller, this paper presents an approach that can translate given UML descriptions into a Coloured Petri Net (CPN) model. The UML descriptions must be specified in the form of Use Cases and UML 2.0 Sequence Diagrams. The CPN model constitutes one single, coherent and executable representation of all possible behaviours that are specified by the given UML artefacts. CPNs consitute a formal modelling language that enables construction and analysis of scalable, executable models of behaviour. A combined use of UML and CPN can be useful in several projects. CPN is well supported by CPN Tools and the work we present here is aimed at building a CPN Tools front-end engine that implements the proposed translation.