218 citations · 468 across the 27 of their papers we have counts for
30 papers
A Systematic Literature Review of Machine Learning Approaches for Migrating Monolithic Systems to Microservices
Imen Trabelsi, Brahim Mahmoudi, Jean Baptiste Minani +2
Scalability and maintainability challenges in monolithic systems have led to the adoption of microservices, which divide systems into smaller, independent services. However, migrat…
Comparison of Code Quality and Best Practices in IoT and non-IoT Software
Nour Khezemi, Sikandar Ejaza, Naouel Moha +1
Context: IoT systems, networks of connected devices powered by software, require studying software quality for maintenance. Despite extensive studies on non-IoT software quality, r…
Assessing Video Game Balance using Autonomous Agents
Cristiano Politowski, Fabio Petrillo, Ghizlane ElBoussaidi +2
As the complexity and scope of games increase, game testing, also called playtesting, becomes an essential activity to ensure the quality of video games. Yet, the manual, ad-hoc na…
An Exploratory Approach for Game Engine Architecture Recovery
Gabriel C. Ullmann, Yann-Gaël Guéhéneuc, Fabio Petrillo +2
Game engines provide video game developers with a wide range of fundamental subsystems for creating games, such as 2D/3D graphics rendering, input device management, and audio play…
Video Game Project Management Anti-patterns
Gabriel C. Ullmann, Cristiano Politowski, Yann-Gaël Guéhéneuc +2
Project Management anti-patterns are well-documented in the software-engineering literature, and studying them allows understanding their impacts on teams and projects. The video g…
Towards Automated Video Game Testing: Still a Long Way to Go
Cristiano Politowski, Yann-Gaël Guéhéneuc, Fabio Petrillo
As the complexity and scope of game development increase, playtesting remains an essential activity to ensure the quality of video games. Yet, the manual, ad-hoc nature of playtest…
What Makes a Game High-rated? Towards Factors of Video Game Success
Gabriel Ullmann, Cristiano Politowski, Yann-Gäel Guéhéneuc +1
As the video game market grows larger, it becomes harder to stand out from the crowd. Launching a successful game involves different aspects. But what are they? In this paper, we i…
Investigating Design Anti-pattern and Design Pattern Mutations and Their Change- and Fault-proneness
Zeinab, Kermansaravi, Md Saidur Rahman +3
During software evolution, inexperienced developers may introduce design anti-patterns when they modify their software systems to fix bugs or to add new functionalities based on ch…
A Survey of Video Game Testing
Cristiano Politowski, Fabio Petrillo, Yann-Gäel Guéhéneuc
Video-game projects are notorious for having day-one bugs, no matter how big their budget or team size. The quality of a game is essential for its success. This quality could be as…
What Skills do IT Companies look for in New Developers? A Study with Stack Overflow Jobs
João Eduardo Montandon, Cristiano Politowski, Luciana Lourdes Silva +3
Context: There is a growing demand for information on how IT companies look for candidates to their open positions. Objective: This paper investigates which hard and soft skills ar…
Are the Old Days Gone? A Survey on Actual Software Engineering Processes in Video Game Industry
Cristiano Politowski, Lisandra Fontoura, Fabio Petrillo +1
In the past 10 years, several researches studied video game development process who proposed approaches to improve the way how games are developed. These approaches usually adopt a…
Learning from the past: A process recommendation system for video game projects using postmortems experiences
Cristiano Politowski, Lisandra M. Fontoura, Fabio Petrillo +1
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,…
A Large Scale Empirical Study of the Impact of Spaghetti Code and Blob Anti-patterns on Program Comprehension
Cristiano Politowski, Foutse Khomh, Simone Romano +4
Context: Several studies investigated the impact of anti-patterns (i.e., "poor" solutions to recurring design problems) during maintenance activities and reported that anti-pattern…
Code Smells and Refactoring: A Tertiary Systematic Review of Challenges and Observations
Guilherme Lacerda, Fabio Petrillo, Marcelo Pimenta +1
In this paper, we present a tertiary systematic literature review of previous surveys, secondary systematic literature reviews, and systematic mappings. We identify the main observ…
Are Game Engines Software Frameworks? A Three-perspective Study
Cristiano Politowski, Fabio Petrillo, João Eduardo Montandon +2
Game engines help developers create video games and avoid duplication of code and effort, like frameworks for traditional software systems. In this paper, we explore open-source ga…
Dataset of Video Game Development Problems
Cristiano Politowski, Fabio Petrillo, Gabriel Cavalheiro Ullmann +2
Different from traditional software development, there is little information about the software-engineering process and techniques in video-game development. One popular way to sha…
Deep Learning Anti-patterns from Code Metrics History
Antoine Barbez, Foutse Khomh, Yann-Gaël Guéhéneuc
Anti-patterns are poor solutions to recurring design problems. Number of empirical studies have highlighted the negative impact of anti-patterns on software maintenance which motiv…
Studying Software Engineering Patterns for Designing Machine Learning Systems
Hironori Washizaki, Hiromu Uchida, Foutse Khomh +1
Machine-learning (ML) techniques have become popular in the recent years. ML techniques rely on mathematics and on software engineering. Researchers and practitioners studying best…
Machine Learning Software Engineering in Practice: An Industrial Case Study
Md Saidur Rahman, Emilio Rivera, Foutse Khomh +2
SAP is the market leader in enterprise software offering an end-to-end suite of applications and services to enable their customers worldwide to operate their business. Especially,…
Service-Oriented Re-engineering of Legacy JEE Applications: Issues and Research Directions
Hafedh Mili, Ghizlane El-Boussaidi, Anas Shatnawi +4
Service-orientation views applications as orchestrations of independent software services that (1) implement functions that are reusable across many applications, (2) can be invoke…
Static Code Analysis of Multilanguage Software Systems
Anas Shatnawi, Hafedh Mili, Manel Abdellatif +5
Identifying dependency call graphs of multilanguage software systems using static code analysis is challenging. The different languages used in developing today's systems often hav…
MoMIT: Porting a JavaScript Interpreter on a Quarter Coin
Rodrigo Morales, Ruben Saborido, Yann-Gaël Guéhéneuc
The Internet of Things (IoT) is a network of physical, heterogeneous, connected devices providing services through private networks and the Internet. It connects a range of new dev…
A Machine-learning Based Ensemble Method For Anti-patterns Detection
Antoine Barbez, Foutse Khomh, Yann-Gaël Guéhéneuc
Anti-patterns are poor solutions to recurring design problems. Several empirical studies have highlighted their negative impact on program comprehension, maintainability, as well a…
Swarm Debugging: the Collective Intelligence on Interactive Debugging
Fabio Petrillo, Yann-Gaël Guéhéneuc, Marcelo Pimenta +2
One of the most important tasks in software maintenance is debugging. To start an interactive debugging session, developers usually set breakpoints in an integrated development env…