Page 50 - SMILESENG
P. 50

Intl. Summer School on Search- and Machine Learning-based Software Engineering
 The bosses are specified with the Shooter Definition Model Language (SDML). SDML is a DSL model for the video game domain. This DSL follows the main ideas of MDE using mod- els for Software Engineering. The models are created using SDML and interpreted at runtime. SDML defines aspects such us the anatomical structure, the amount and distribution of vulnerable parts, weapons, and defenses in the structure/body of the character, and the movement behaviors associated to the whole body or its parts. This modeling language has concepts such as hulls, links, weak points, weapons, and AI components.
The simulations using the Kromaia case study simulate a duel between a boss and a human player. During the simulation, the simulated player faces the boss in order to destroy the weak points that are available at that moment, whereas the boss acts according to the anatomy, behavior, and attack/defense balance that is included in its model, trying to defeat the simulated player. In the simulation, both the boss and the simulated player try to win the match and do not avoid confrontation, try to prevent draw/tie games, and try to ensure that there is a winner.
III. APPROACH
Our starting point is BLiMEA [7], [8], which is specifically designed to locate bugs in software models. As many bug localization approaches do [3], BLiMEA uses bug reports and the defect localization principle [9]. BLiMEA iterates through the models of a system and assesses model fragments as possible sources of bug. To do so, BLiMEA uses a multi- objective evolutionary algorithm with two fitness functions: Information Retrieval (IR) and modification timespan. This approach receives a bug description and a set of software models as input. The output is a set where each model fragment has been assigned two fitness values: the similarity to the bug description, and the timespan to the most recent model fragment modifications.
However, we want to leverage game simulations to locate bugs in the software models of video games. The aim of the approach is to find the most relevant simulation to locate the target bug. Our preliminary approach takes as input a set of software models in which we want to locate the bug. The goal is to obtain a ranked list of simulation traces that are ordered by their relevance in locating the bug. To do so, the evolutionary algorithm performs a search that is guided by a fitness function. The first attempt for the fitness function is reward simulations that are farthest from what developers expected. The idea is that if they have strayed from what the developers expected, they might be relevant when locating a bug.
IV. PRELIMINARY RESULTS
BLiMEA was successful in the context of CSE, for example, by locating bugs in the firmware that controls induction hobs from the brands of the BSH group [7]. However, in our preliminary evaluations in the context GSE, the BLiMEA
results obtained lower values in the main measures (precision, recall, and F-measure).
We have performed preliminary test of the ideas in which the approach was able to reveal blocking bugs where the boss was indestructible because one weak point overlapped another weak point. Although we do not have enough results to conduct a quantitative evaluation, our intuition indicates that our approach can be highly useful for bug localization in GSE.
Finally, our intuition is that thinking about the lack of fun heuristics can help design better guides to locate bugs in video games. All in all, video game developers seem to be more concerned about bugs that imperceptibly frustrate the player than a null pointer exception.
V. CONCLUSION
For years, bug reporting and the defect localization principle have proven to be useful for locating bugs in software. Bug localization in Game Software Engineering has received little attention despite the rise of video games and the problems that their developers have in locating bugs.
Perhaps, bug reports and the defect localization principle are not enough to locate bugs in video games. We explore a novel route to locate bugs in video games by means of evolving video game simulations that produce traces that are relevant to locating bugs. To locate bugs, we want to leverage non-player characters, which is one of the key features that are inherent to the video game domain. Our work could open a novel research direction for bug localization in video games that could also potentially be used in Classic Software Engineering.
REFERENCES
[1] SlashData. Global developer population report 2019. https://sdata.me/ GlobalDevPop19, 2019. [Online; accessed 21-November-2021].
[2] Luca Pascarella, Fabio Palomba, Massimiliano Di Penta, and Alberto Bacchelli. How is video game development different from software development in open source? In Andy Zaidman, Yasutaka Kamei, and Emily Hill, editors, Proceedings of the 15th International Conference on Mining Software Repositories, MSR 2018, Gothenburg, Sweden, May 28-29, 2018, pages 392–402. ACM, 2018.
[3] W. Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, and Franz Wotawa. A survey on software fault localization. IEEE Trans. Software Eng., 42(8):707–740, 2016.
[4] CristianoPolitowski,Fa´bioPetrillo,andYann-Gae¨lGue´he´neuc.Asurvey of video game testing. In 2nd IEEE/ACM International Conference on Automation of Software Test, AST@ICSE 2021, Madrid, Spain, May 20- 21, 2021, pages 90–99. IEEE, 2021.
[5] PC Gamer. How buggy is cyberpunk 2077, really? https://www.pcgamer. com/how- buggy- is- cyberpunk- 2077- really/, 2020. [Online; accessed 21- November-2021].
[6] Apostolos Ampatzoglou and Ioannis Stamelos. Software engineering research for computer games: A systematic review. Information and Software Technology, 52(9):888–901, 2010.
[7] Lorena Arcega, Jaime Font, Øystein Haugen, and Carlos Cetina. An approach for bug localization in models using two levels: model and metamodel. Software and Systems Modeling, 18(6):3551–3576, 2019.
[8] Lorena Arcega, Jaime Font Arcega, Øystein Haugen, and Carlos Cetina. Bug localization in model-based systems in the wild. ACM Trans. Softw. Eng. Methodol., 31(1), oct 2021.
[9] Ahmed E. Hassan and Richard C. Holt. The top ten list: Dynamic fault prediction. In Proceedings of the 21st IEEE International Conference on Software Maintenance, ICSM ’05, page 263–272, USA, 2005. IEEE Computer Society.
38










































































   48   49   50   51   52