Fábio Petrillo
Universidade Federal do Rio Grande do Sul
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Fábio Petrillo.
conference on computability in europe | 2009
Fábio Petrillo; Marcelo Soares Pimenta; Francisco M. Trindade; Carlos A. Dietrich
Despite its growth and profitability, many reports about game projects show that their production is not a simple task, but one beset by common problems and still distant from having a healthy and synergetic work process. The goal of this article is to survey the problems in the development process of electronic games, which are mainly collected from game postmortems, by exploring their similarities and differences to well-known problems in traditional information systems.
international conference on design of communication | 2010
Fábio Petrillo; Marcelo Soares Pimenta
Game development is a very complex and multidisciplinary activity and surely the success of games as one of most profitable areas in entertainment domain could not be incidentally. The goal of this paper is to investigate if (and how) principles and practices from Agile Methods have been adopted in game development, mainly gathering evidences through Postmortem Analysis (PMA). Then we describe how we have conducted PMA in order to identify the good practices adopted in several game development projects. The results are discussed, comparing similarities and differences on how these practices are taken in account in (traditional) software development and game development.
acm symposium on applied computing | 2008
Fábio Petrillo; Marcelo Soares Pimenta; Francisco M. Trindade; Carlos A. Dietrich
This paper presents a survey of problems found in the development process of electronic games. These problems were collected mainly from game postmortems and specialized litterature on game development, allowing a comparison with respect to well-known problems in the traditional software industry.
international conference on service oriented computing | 2016
Fábio Petrillo; Philippe Merle; Naouel Moha; Yann-Gaël Guéhéneuc
Cloud computing is currently the most popular model to offer and access computational resources and services. Many cloud providers use the REST architectural style (Representational State Transfer) for offering such computational resources. However, these cloud providers face challenges when designing and exposing REST APIs that are easy to handle by end-users and/or developers. Yet, they benefit from best practices to help them design understandable and reusable REST APIs. However, these best practices are scattered in the literature and they have not be studied systematically on real-world APIs. Consequently, we propose two contributions. In our first contribution, we survey the literature and compile a catalog of 73 best practices in the design of REST APIs making APIs more understandable and reusable. In our second contribution, we perform a study of three different and well-known REST APIs from three cloud providers to investigate how their APIs are offered and accessed. These cloud providers are Google Cloud Platform, OpenStack, and Open Cloud Computing Interface (OCCI). In particular, we evaluate the coverage of the features provided by the REST APIs of these cloud providers and their conformance with the best practices for REST APIs design. Our results show that Google Cloud follows 66% (48/73), OpenStack follows 62% (45/73), and OCCI 1.2 follows 56% (41/73) of the best practices. Second, although these numbers are not necessarily high, partly because of the strict and precise specification of best practices, we showed that cloud APIs reach an acceptable level of maturity.
software visualization | 2015
Fábio Petrillo; Guilherme Lacerda; Marcelo Soares Pimenta; Carla Maria Dal Sasso Freitas
Debugging sessions require a methodical process of finding causes and reducing the number of software problems. During such sessions, developers run a software project, traversing method invocations, setting breakpoints, stopping or restarting executions. In these sessions, developers explore different parts of the code and create knowledge about them. When debugging sessions are over, it is likely that such knowledge is lost, and developers cannot use it in other sessions or sharing it with collaborators. We have developed Swarm Debugging, a new approach for visualizing and sharing information obtained during debugging sessions, providing interactive and real-time visualization techniques, and several searching tools. Through usage scenarios, we demonstrate that it can aid developers to decrease the required time for deciding where to toggle a break-point and locate bug causes. We show how Swarm Debugging offers more useful support for many typical development tasks than a traditional debugger tool.
Information & Software Technology | 2018
Cristiano Politowski; Lisandra M. Fontoura; Fábio Petrillo; Yann-Gaël Guéhéneuc
Abstract Context: The video game industry is a billion dollar industry that faces problems in the way games are developed. One method to address these problems is using developer aid tools, such as Recommendation Systems. These tools assist developers by generating recommendations to help them perform their tasks. Objective: This article describes a systematic approach to recommend development processes for video game projects, using postmortem knowledge extraction and a model of the context of the new project, in which “postmortems” are articles written by video game developers at the end of projects, summarizing the experience of their game development team. This approach aims to provide reflections about development processes used in the game industry as well as guidance to developers to choose the most adequate process according to the contexts they’re in. Method: Our approach is divided in three separate phases: in the first phase, we manually extracted the processes from the postmortems analysis; in the second one, we created a video game context and algorithm rules for recommendation; and finally in the third phase, we evaluated the recommended processes by using quantitative and qualitative metrics, game developers feedback, and a case study by interviewing a video game development team. Contributions: This article brings three main contributions. The first describes a database of developers’ experiences extracted from postmortems in the form of development processes. The second defines the main attributes that a video game project contain, which it uses to define the contexts of the project. The third describes and evaluates a recommendation system for video game projects, which uses the contexts of the projects to identify similar projects and suggest a set of activities in the form of a process.
international conference on cloud computing and services science | 2017
Fábio Petrillo; Philippe Merle; Francis Palma; Naouel Moha; Yann-Gaël Guéhéneuc
Cloud computing is a popular Internet-based computing paradigm that provides on-demand computational services and resources, generally offered by Cloud providers’ REpresentational State Transfer (REST) APIs. Developers use REST APIs by invoking these APIs by their names and, thus, the lexicons used in the APIs are important to ease the developers’ comprehension. In this paper, we study the lexicons and the linguistic (anti)patterns from 16 providers of REST Cloud Computing APIs. We observe that, although the 16 REST APIs describe the same domain (Cloud computing), contrary to what one might expect, their lexicons do not share a large number of common terms and 90% of the terms (3,561/3,947) are just used by one provider. Thus, the APIs are lexically heterogeneous and there is not a consensus on which terms to use in Cloud computing. Further, we observe that the majority of the URIs, 54%, follow the Contextualised Resource Names pattern, which is considered a good practice in REST API design. However, a majority of the URIs, 62.82%, suffer from the Non-pertinent Documentation antipattern. Thus, we present three main contributions: (1) a tooled approach, called CloudLex, for extracting and analysing REST Cloud computing lexicons; (2) our analysis of the terms used in 16 REST APIs in 59,677 term occurrences; (3) our analysis of the linguistic (anti)patterns in more than 23,000 URIs of the 142 services of the 16 Cloud providers. We also show that CloudLex has an average precision of 84.82%, recall of 63.57%, and F1-measure of 71.03% on one complete API, Docker Engine, which confirms the accuracy of our semantic analyses for the detection of linguistic (anti)patterns.
2017 IEEE International Conference on Software Quality, Reliability and Security (QRS) | 2017
Fábio Petrillo; Hyan Mandian; Aiko Yamashita; Foutse Khomh; Yann-Gaël Guéhéneuc
One of the most important tasks in software maintenance is debugging. Developers perform debugging to fix faults and implement new features. Usually they use interactive development environments to perform their debugging sessions. To start an interactive debugging session, developers must set breakpoints. Choosing where to set breakpoints is a non-trivial task, yet few studies have investigated how developers set breakpoints during interactive debugging sessions. To understand how developers set breakpoints, we analysed more than 10 hours of 45 video-recorded debugging sessions, where a total of 307 breakpoints were set. We used the videos from two independent studies involving three software systems. We could observe that: (1) considerable time is spent by developers until they are able to set the first breakpoint; (2) when developers toggle breakpoints carefully, they complete tasks faster than developers who set (potential useless) breakpoints quickly; and (3) different developers set breakpoints in similar locations while working (independently) on the same tasks or different tasks. We discuss some implications of our observations for debugging activities.
Communications in computer and information science | 2016
Francisco Jose Rego Lopes; Fábio Petrillo
Kanban is a software development methodology that has grown and gained more supporters. Proportional of this growth, dissemination of knowledge in the use of its practices is essential. Moreover, training in software processes is not always a trivial endeavour, and exploring some project practices in traditional training rooms can be a complex task. This paper proposes SimKan, an analogical serious game for training Kanban practices. SimKan uses stochastic simulation to introduce aspects of randomness in the game, allowing a quasi-true experience on Kanban, performing in a short time-frame and using simple tools. Our results show that SimKan is adequate to train teams in Kanban, bringing positive results in a short time-frame and with low cost.
latin american conference on human computer interaction | 2011
Fábio Petrillo; Andre Suslik Spritzer; Carla Maria Dal Sasso Freitas; Marcelo Soares Pimenta