Skip to main content

Showing 1–35 of 35 results for author: Gueheneuc, Y

Searching in archive cs. Search in all archives.
.
  1. arXiv:2508.15941  [pdf, ps, other

    cs.SE

    A Systematic Literature Review of Machine Learning Approaches for Migrating Monolithic Systems to Microservices

    Authors: Imen Trabelsi, Brahim Mahmoudi, Jean Baptiste Minani, Naouel Moha, Yann-Gaël Guéhéneuc

    Abstract: Scalability and maintainability challenges in monolithic systems have led to the adoption of microservices, which divide systems into smaller, independent services. However, migrating existing monolithic systems to microservices is a complex and resource-intensive task, which can benefit from machine learning (ML) to automate some of its phases. Choosing the right ML approach for migration remains… ▽ More

    Submitted 21 August, 2025; originally announced August 2025.

  2. arXiv:2408.02614  [pdf

    cs.SE

    Comparison of Code Quality and Best Practices in IoT and non-IoT Software

    Authors: Nour Khezemi, Sikandar Ejaza, Naouel Moha, Yann-Gaël Guéhéneuc

    Abstract: Context: IoT systems, networks of connected devices powered by software, require studying software quality for maintenance. Despite extensive studies on non-IoT software quality, research on IoT software quality is lacking. It is uncertain if IoT and non-IoT systems software are comparable, hindering the confident application of results and best practices gained on non-IoT systems. Objective: Th… ▽ More

    Submitted 5 August, 2024; originally announced August 2024.

  3. arXiv:2406.05487  [pdf, other

    cs.SE

    SyDRA: An Approach to Understand Game Engine Architecture

    Authors: Gabriel C. Ullmann, Yann-Gaël Guéhéneuc, Fabio Petrillo, Nicolas Anquetil, Cristiano Politowski

    Abstract: Game engines are tools to facilitate video game development. They provide graphics, sound, and physics simulation features, which would have to be otherwise implemented by developers. Even though essential for modern commercial video game development, game engines are complex and developers often struggle to understand their architecture, leading to maintainability and evolution issues that negati… ▽ More

    Submitted 14 July, 2024; v1 submitted 8 June, 2024; originally announced June 2024.

  4. arXiv:2309.06329  [pdf, other

    cs.SE

    Visualising Game Engine Subsystem Coupling

    Authors: Gabriel C. Ullmann, Yann-Gaël Guéhéneuc, Fabio Petrillo, Nicolas Anquetil, Cristiano Politowski

    Abstract: Game engines support video game development by providing functionalities such as graphics rendering or input/output device management. However, their architectures are often overlooked, which hinders their integration and extension. In this paper, we use an approach for architecture recovery to create architectural models for 10 open-source game engines. We use these models to answer the following… ▽ More

    Submitted 12 September, 2023; originally announced September 2023.

  5. arXiv:2304.08699  [pdf, other

    cs.SE

    Assessing Video Game Balance using Autonomous Agents

    Authors: Cristiano Politowski, Fabio Petrillo, Ghizlane ElBoussaidi, Gabriel C. Ullmann, Yann-Gaël Guéhéneuc

    Abstract: 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 nature of game testing leaves space for automation. In this paper, we research, design, and implement an approach to supplement game testing to balance video games with autonomous agents. We evaluate our approach with two… ▽ More

    Submitted 17 April, 2023; originally announced April 2023.

  6. arXiv:2303.02429  [pdf, other

    cs.SE

    An Exploratory Approach for Game Engine Architecture Recovery

    Authors: Gabriel C. Ullmann, Yann-Gaël Guéhéneuc, Fabio Petrillo, Nicolas Anquetil, Cristiano Politowski

    Abstract: 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 playback. Developers often integrate these subsystems with other applications or extend them via plugins. To integrate or extend correctly, developers need a broad system architectural understanding. However, architectural i… ▽ More

    Submitted 20 March, 2023; v1 submitted 4 March, 2023; originally announced March 2023.

  7. arXiv:2207.06473  [pdf, other

    cs.SE

    Game Engine Comparative Anatomy

    Authors: Gabriel C. Ullmann, Cristiano Politowski, Yann-Gaël Guéhéneuc, Fabio Petrillo

    Abstract: Video game developers use game engines as a tool to manage complex aspects of game development. While engines play a big role in the success of games, to the best of our knowledge, they are often developed in isolation, in a closed-source manner, without architectural discussions, comparison, and collaboration among projects. In this work in progress, we compare the call graphs of two open-source… ▽ More

    Submitted 13 July, 2022; originally announced July 2022.

    Comments: To be published in IFIP International Conference on Entertainment Computing 2022

  8. arXiv:2202.12777  [pdf, other

    cs.SE

    Towards Automated Video Game Testing: Still a Long Way to Go

    Authors: Cristiano Politowski, Yann-Gaël Guéhéneuc, Fabio Petrillo

    Abstract: 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 playtesting gives space to improvements in the process. In this study, we investigate gaps between academic solutions in the literature for automated video game testing and the needs of video game developers in the industry. We… ▽ More

    Submitted 10 March, 2022; v1 submitted 25 February, 2022; originally announced February 2022.

  9. arXiv:2202.06183  [pdf, other

    cs.SE

    Video Game Project Management Anti-patterns

    Authors: Gabriel C. Ullmann, Cristiano Politowski, Yann-Gaël Guéhéneuc, Fabio Petrillo, João Eduardo Montandon

    Abstract: 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 game development industry is known for its mismanagement practices, and therefore applying this knowledge would help improving game developers' productivity and well-being. In this paper, we map project management anti-pa… ▽ More

    Submitted 11 March, 2022; v1 submitted 12 February, 2022; originally announced February 2022.

  10. arXiv:2111.03196  [pdf, other

    cs.SE cs.LG

    An Empirical Study of the Effectiveness of an Ensemble of Stand-alone Sentiment Detection Tools for Software Engineering Datasets

    Authors: Gias Uddin, Yann-Gael Gueheneuc, Foutse Khomh, Chanchal K Roy

    Abstract: Sentiment analysis in software engineering (SE) has shown promise to analyze and support diverse development activities. We report the results of an empirical study that we conducted to determine the feasibility of developing an ensemble engine by combining the polarity labels of stand-alone SE-specific sentiment detectors. Our study has two phases. In the first phase, we pick five SE-specific sen… ▽ More

    Submitted 4 November, 2021; originally announced November 2021.

    Journal ref: ACM Transactions on Software Engineering and Methodology (TOSEM), 2021

  11. arXiv:2105.14137  [pdf, other

    cs.SE

    What Makes a Game High-rated? Towards Factors of Video Game Success

    Authors: Gabriel Ullmann, Cristiano Politowski, Yann-Gäel Guéhéneuc, Fabio Petrillo

    Abstract: 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 investigate some aspects of the high-rated games from a dataset of 200 projects. The results show that the none of the aspects of this study have a strong relationship with the game's success. A further analysis on the hi… ▽ More

    Submitted 13 May, 2022; v1 submitted 28 May, 2021; originally announced May 2021.

  12. arXiv:2104.00058  [pdf, other

    cs.SE

    Investigating Design Anti-pattern and Design Pattern Mutations and Their Change- and Fault-proneness

    Authors: Zeinab, Kermansaravi, Md Saidur Rahman, Foutse Khomh, Fehmi Jaafar, Yann-Gael Gueheneuc

    Abstract: 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 changes in requirements. Developers may also use design patterns to promote software quality or as a possible cure for some design anti-patterns. Thus, design patterns and design anti-patterns are introduced, removed, and… ▽ More

    Submitted 31 March, 2021; originally announced April 2021.

  13. arXiv:2103.06431  [pdf, ps, other

    cs.SE

    A Survey of Video Game Testing

    Authors: Cristiano Politowski, Fabio Petrillo, Yann-Gäel Guéhéneuc

    Abstract: 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 assessed and ensured through testing. However, to the best of our knowledge, little is known about video-game testing. In this paper, we want to understand how game developers perform game testing. We investigate, through… ▽ More

    Submitted 10 March, 2021; originally announced March 2021.

  14. What Skills do IT Companies look for in New Developers? A Study with Stack Overflow Jobs

    Authors: João Eduardo Montandon, Cristiano Politowski, Luciana Lourdes Silva, Marco Tulio Valente, Fabio Petrillo, Yann-Gaël Guéhéneuc

    Abstract: 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 are more required in IT companies by analyzing the description of 20,000 job opportunities. Method: We applied open card sorting to perform a high-level analysis on which types of hard skills are more requested. Further, w… ▽ More

    Submitted 4 November, 2020; originally announced November 2020.

    Journal ref: Information and Software Technology 129 (January 2021) 106429

  15. Are the Old Days Gone? A Survey on Actual Software Engineering Processes in Video Game Industry

    Authors: Cristiano Politowski, Lisandra Fontoura, Fabio Petrillo, Yann-Gaël Guéhéneuc

    Abstract: 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 agile methodologies because of claims that traditional practices and the waterfall process are gone. However, are the "old days" really gone in the game industry? In this paper, we present a survey of software engineering… ▽ More

    Submitted 4 September, 2020; originally announced September 2020.

  16. Learning from the past: A process recommendation system for video game projects using postmortems experiences

    Authors: Cristiano Politowski, Lisandra M. Fontoura, Fabio 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 fo… ▽ More

    Submitted 4 September, 2020; originally announced September 2020.

  17. arXiv:2009.02440  [pdf, other

    cs.SE

    Game Industry Problems: an Extensive Analysis of the Gray Literature

    Authors: Cristiano Politowski, Fabio Petrillo, Gabriel C. Ullmann, Yann-Gaël Guéhéneuc

    Abstract: Context: Given its competitiveness, the video-game industry has a closed-source culture. Hence, little is known of the problems faced by game developers. However, game developers do share information about their games projects through postmortems, which describe informally what happened during the projects. Objective: The software-engineering research community and game developers would benefit fr… ▽ More

    Submitted 22 January, 2021; v1 submitted 4 September, 2020; originally announced September 2020.

  18. A Large Scale Empirical Study of the Impact of Spaghetti Code and Blob Anti-patterns on Program Comprehension

    Authors: Cristiano Politowski, Foutse Khomh, Simone Romano, Giuseppe Scanniello, Fabio Petrillo, Yann-Gaël Guéhéneuc, Abdou Maiga

    Abstract: Context: Several studies investigated the impact of anti-patterns (i.e., "poor" solutions to recurring design problems) during maintenance activities and reported that anti-patterns significantly affect the developers' effort required to edit files. However, before developers edit files, they must understand the source code of the systems. This source code must be easy to understand by developers.… ▽ More

    Submitted 4 September, 2020; originally announced September 2020.

  19. Code Smells and Refactoring: A Tertiary Systematic Review of Challenges and Observations

    Authors: Guilherme Lacerda, Fabio Petrillo, Marcelo Pimenta, Yann Gael Gueheneuc

    Abstract: In this paper, we present a tertiary systematic literature review of previous surveys, secondary systematic literature reviews, and systematic mappings. We identify the main observations (what we know) and challenges (what we do not know) on code smells and refactoring. We show that code smells and refactoring have a strong relationship with quality attributes, i.e., with understandability, mainta… ▽ More

    Submitted 22 April, 2020; originally announced April 2020.

  20. Are Game Engines Software Frameworks? A Three-perspective Study

    Authors: Cristiano Politowski, Fabio Petrillo, João Eduardo Montandon, Marco Tulio Valente, Yann-Gaël Guéhéneuc

    Abstract: 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 game engines along three perspectives: literature, code, and human. First, we explore and summarise the academic literature on game engines. Second, we compare the characteristics of the 282 most popular engines and the 28… ▽ More

    Submitted 19 September, 2020; v1 submitted 12 April, 2020; originally announced April 2020.

  21. arXiv:2001.00491  [pdf, other

    cs.SE

    Dataset of Video Game Development Problems

    Authors: Cristiano Politowski, Fabio Petrillo, Gabriel Cavalheiro Ullmann, Josias de Andrade Werly, Yann-Gaël Guéhéneuc

    Abstract: Different from traditional software development, there is little information about the software-engineering process and techniques in video-game development. One popular way to share knowledge among the video-game developers' community is the publishing of postmortems, which are documents summarizing what happened during the video-game development project. However, these documents are written with… ▽ More

    Submitted 4 September, 2020; v1 submitted 2 January, 2020; originally announced January 2020.

  22. Deep Learning Anti-patterns from Code Metrics History

    Authors: Antoine Barbez, Foutse Khomh, Yann-Gaël Guéhéneuc

    Abstract: 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 motivated the development of various detection techniques. Most of these approaches rely on structural metrics of software systems to identify affected components while others exploit historical information by analyzing co-ch… ▽ More

    Submitted 16 October, 2019; originally announced October 2019.

    Comments: Preprint. Paper accepted for inclusion in the Research Track of the 35th IEEE International Conference on Software Maintenance and Evolution (ICSME 2019), Cleveland, Ohio, USA

  23. arXiv:1910.04736  [pdf, other

    cs.SE cs.LG

    Studying Software Engineering Patterns for Designing Machine Learning Systems

    Authors: Hironori Washizaki, Hiromu Uchida, Foutse Khomh, Yann-Gael Gueheneuc

    Abstract: 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 practices for designing ML application systems and software to address the software complexity and quality of ML techniques. Such design practices are often formalized as architecture patterns and design patterns by enc… ▽ More

    Submitted 11 October, 2019; v1 submitted 10 October, 2019; originally announced October 2019.

  24. arXiv:1906.07154  [pdf, other

    cs.SE cs.LG

    Machine Learning Software Engineering in Practice: An Industrial Case Study

    Authors: Md Saidur Rahman, Emilio Rivera, Foutse Khomh, Yann-Gaël Guéhéneuc, Bernd Lehnert

    Abstract: 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, retail customers of SAP deal with millions of sales transactions for their day-to-day business. Transactions are created during retail sales at the point of sale (POS) terminals and then sent to some central servers for… ▽ More

    Submitted 17 June, 2019; originally announced June 2019.

    Comments: 21 pages, 5 figures

  25. arXiv:1906.03304  [pdf, other

    cs.SE

    MoMIT: Porting a JavaScript Interpreter on a Quarter Coin

    Authors: Rodrigo Morales, Ruben Saborido, Yann-Gaël Guéhéneuc

    Abstract: 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 devices to the Internet so they can communicate with Web servers and other devices around the world. Today's standard platform for communicating Web pages and Web apps is JavaScript (JS) and extending the same standard plat… ▽ More

    Submitted 25 May, 2019; originally announced June 2019.

  26. arXiv:1906.00937  [pdf, other

    cs.SE

    Service-Oriented Re-engineering of Legacy JEE Applications: Issues and Research Directions

    Authors: Hafedh Mili, Ghizlane El-Boussaidi, Anas Shatnawi, Yann-Gaël Guéhéneuc, Naouel Moha, Jean Privat, Petko Vatlchev

    Abstract: Service-orientation views applications as orchestrations of independent software services that (1) implement functions that are reusable across many applications, (2) can be invoked remotely, and (3) are packaged to decouple potential callers from their implementation technology. As such, it enables organizations to develop quality applications faster than without services. Legacy applications are… ▽ More

    Submitted 3 June, 2019; originally announced June 2019.

  27. arXiv:1906.00815  [pdf, other

    cs.SE

    Static Code Analysis of Multilanguage Software Systems

    Authors: Anas Shatnawi, Hafedh Mili, Manel Abdellatif, Yann-Gaël Guéhéneuc, Naouel Moha, Geoffrey Hecht, Ghizlane El Boussaidi, Jean Privat

    Abstract: Identifying dependency call graphs of multilanguage software systems using static code analysis is challenging. The different languages used in developing today's systems often have different lexical, syntactical, and semantic rules that make thorough analysis difficult. Also, they offer different modularization and dependency mechanisms, both within and between components. Finally, they promote a… ▽ More

    Submitted 3 June, 2019; originally announced June 2019.

    Comments: 11 pages, 7 figures

  28. arXiv:1903.01899  [pdf, other

    cs.SE cs.LG

    A Machine-learning Based Ensemble Method For Anti-patterns Detection

    Authors: Antoine Barbez, Foutse Khomh, Yann-Gaël Guéhéneuc

    Abstract: Anti-patterns are poor solutions to recurring design problems. Several empirical studies have highlighted their negative impact on program comprehension, maintainability, as well as fault-proneness. A variety of detection approaches have been proposed to identify their occurrences in source code. However, these approaches can identify only a subset of the occurrences and report large numbers of fa… ▽ More

    Submitted 16 October, 2019; v1 submitted 29 January, 2019; originally announced March 2019.

    Comments: Preprint Submitted to Journal of Systems and Software, Elsevier

  29. arXiv:1902.03520  [pdf, other

    cs.SE

    Swarm Debugging: the Collective Intelligence on Interactive Debugging

    Authors: Fabio Petrillo, Yann-Gaël Guéhéneuc, Marcelo Pimenta, Carla Dal Sasso Freitas, Foutse Khomh

    Abstract: 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 environment and navigate through different paths in their debuggers. We started our work by asking} what debugging information is useful to share among developers and study two pieces of information: breakpoints (and their… ▽ More

    Submitted 9 February, 2019; originally announced February 2019.

  30. arXiv:1808.07355  [pdf, other

    cs.NI

    Is Fragmentation a Threat to the Success of the Internet of Things?

    Authors: Mohab Aly, Foutse Khomh, Yann-Gaël Guéhéneuc, Hironori Washizaki, Soumaya Yacout

    Abstract: The current revolution in collaborating distributed things is seen as the first phase of IoT to develop various services. Such collaboration is threatened by the fragmentation found in the industry nowadays as it brings challenges stemming from the difficulty to integrate diverse technologies in system. Diverse networking technologies induce interoperability issues, hence, limiting the possibility… ▽ More

    Submitted 2 August, 2018; originally announced August 2018.

    Comments: 16 pages, 2 figures, Internet of Things Journal (http://ieee-iotj.org)

  31. What Should You Know Before Developing a Service Identification Approach

    Authors: Anas Shatnawi, Hafedh Mili, Manel Abdellatif, Ghizlane El Boussaidi, Yann-Gaël Guéhéneuc, Naouel Moha, Jean Privat

    Abstract: In this paper, we answer a set of research questions that are required to develop service identification approach based on the analysis of object- oriented software. Such research questions are: (1) what is a service, (2) how are services different from software components, (3) what are types of services, (4) what are existing service identification approaches that consider service types into acco… ▽ More

    Submitted 14 March, 2018; originally announced March 2018.

    Comments: 16 pages, 5 figures, LATECE Technical Report 2017-2

    Report number: LATECE Technical Report 2017-2

  32. Identifying KDM Model of JSP Pages

    Authors: Anas Shatnawi, Hafedh Mili, Manel Abdellatif, Ghizlane El Boussaidi, Jean Privat, Yann-Gaël Guéhéneuc, Naouel Moha

    Abstract: In this report, we propose our approach that identifies a KDM model of JSP pages. Our approach is based on two main steps. The first one aims to reduce the problem space by translating JSP pages into Java Servlets where we can use existing tools to identify a KDM model. The second step aims to complete the resulting KDM model by identifying dependencies of JSP tags that are not codified by the tra… ▽ More

    Submitted 14 March, 2018; originally announced March 2018.

    Comments: 13 pages, 13 figures, 2 tables, LATECE Technical Report 2017-3

    Report number: LATECE Technical Report 2017-3

  33. A Static Program Slicing Approach for Output Stream Objects in JEE Applications

    Authors: Anas Shatnawi, Hafedh Mili, Manel Abdellatif, Jean Privat, Yann-Gaël Guéhéneuc, Naouel Moha, Ghizlane El Boussaidi

    Abstract: In this paper, we propose a program slicing approach for the output stream object in JEE applications. Our approach is based on extracting a dependency call graph from KDM models of JEE applications. Then, it applies breath-first search algorithm to identify the program slice as a graph reachability problem. The proposed approach is implemented as an extension of our DeJEE tool.

    Submitted 14 March, 2018; originally announced March 2018.

    Comments: 11 pages, 7 figures, LATECE Technical Report 2017-5

    Report number: LATECE Technical Report 2017-5

  34. How to Implement Dependencies in Server Pages of JEE Web Applications

    Authors: Anas Shatnawi, Hafedh Mili, Manel Abdellatif, Ghizlane El Boussaidi, Yann-Gaël Guéhéneuc, Naouel Moha, Jean Privat

    Abstract: Java Enterprise Edition (JEE) applications are implemented in terms of a set of components developed based on several JEE technologies includ- ing, but not limited to, Servlet, JSP, JSF, EJB, JavaBeans. These JEE technologies rely on a varied set of communication mechanisms to commu- nicate between each others. Examples of these communication mechanisms are HTTP requests, Remote Method Invocation… ▽ More

    Submitted 14 March, 2018; originally announced March 2018.

    Comments: 16 pages, 23 figures, LATECE Technical Report 2017-1

    Report number: LATECE Technical Report 2017-1

  35. arXiv:1703.03017  [pdf, other

    cs.SE

    Comprehension of Ads-supported and Paid Android Applications: Are They Different?

    Authors: Rubén Saborido, Foutse Khomh, Yann-Gaël Guéhéneuc, Giuliano Antoniol

    Abstract: The Android market is a place where developers offer paid and-or free apps to users. Free apps are interesting to users because they can try them immediately without incurring a monetary cost. However, free apps often have limited features and-or contain ads when compared to their paid counterparts. Thus, users may eventually need to pay to get additional features and-or remove ads. While paid app… ▽ More

    Submitted 8 March, 2017; originally announced March 2017.

    Comments: Accepted for publication in the proceedings of the IEEE International Conference on Program Comprehension 2017