Fabiano Cutigi Ferrari

h-index21
2papers
1,648citations

2 Papers

5.3SENov 13, 2020
Initiatives and Challenges of Using Gamification in Software Engineering: A Systematic Mapping

Daniel Porto, Gabriela Jesus, Fabiano Ferrari et al.

Context: Gamification is an emerging subject that has been applied in different areas, bringing contributions to different types of activities. Objective: This paper aims to characterize how gamification has been adopted in non-educational contexts of software engineering (SE) activities. Method: We performed a Systematic Mapping of the literature obtained from relevant databases of the area. The searches retrieved 2640 studies (published up to January 2020), of which 548 were duplicates, 82 were selected after applying the inclusion and exclusion criteria, and 21 were included via the backward snowballing technique, thus reaching a total of 103 studies to be analyzed. Results: Gamification provided benefits to activities like requirements specification, development, testing, project management, and support process. There is evidence of gamified support to some CMMI 2.0 Practice Areas. The most commonly used gamification elements are points and leaderboards. The main benefit achieved is the increased engagement and motivation to perform tasks. Conclusion: The number of publications and new research initiatives have increased over the years and, from the original authors' reports, many positive results were achieved in SE activities. Despite this, gamification can still be explored for many SE tasks; for the addressed ones, empirical evidence is very limited.

3.0SEJun 15, 2020
Micro-controllers: Promoting Structurally Flexible Controllers in Self-Adaptive Software Systems

B. R. Siqueira, F. C. Ferrari, T. Vogel et al.

To promote structurally flexible controllers in self-adaptive software systems, this paper proposes the use of micro-controllers. Instead of generic monolithic controllers, like Rainbow, we advocate the use of service-specific micro-controllers which can be based on microservices. Although traditional generic controllers can be configured parametrically according to system needs, their use and reuse are nevertheless restrictive because of the wide range of services expected from the different stages of the feedback control loop.The solution being advocated is to have structurally flexible controllers that can be composed from micro-controllers. Controlling the architectural configuration of these micro-controllers is a meta-controller that is able to configure the controller according to the services required for controlling the target system. The feasibility of the proposed approach of using micro-controllers at the level of the controller is demonstrated in the context of the PhoneAdapter case study in which micro-controllers are configured at run-time depending on changes affecting the system or its environment.