Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Metamorphic testing of chess engines

dc.contributor.authorMéndez, Manuel
dc.contributor.authorBenito Parejo, Miguel
dc.contributor.authorNúñez García, Manuel
dc.date.accessioned2024-05-08T16:45:47Z
dc.date.available2024-05-08T16:45:47Z
dc.date.issued2023
dc.description2023 Acuerdos transformativos CRUE
dc.description.abstractContext: Chess engines are computer programs that analyse chess positions. The goal of this analysis is to decide which player has an advantage and evaluate how big the advantage is. Using this analysis, chess engines are really powerful players who can consistently beat the best (human) players. Even though these programs are fantastic players, we cannot be sure that the code is fault free because it is very difficult to test them. In particular, we face the oracle problem: if the chess engine plays better than any potential tester, how can a tester claim that a certain evaluation is wrong or that a suggested move is not the best one? Objective: The main goal of our work is to provide a metamorphic testing tool to evaluate chess engines. In particular, we are interested in looking for inconsistent behaviours in the best publicly available chess engine, Stockfish, but we would also like to consider other chess engines. Methods: We developed a metamorphic testing solution to validate chess engines. First, we defined metamorphic relations that might reveal inconsistent behaviours. The underlying idea was that the evaluation of related positions should be the same. For example, if we consider a position and rotate all the pieces with respect to the central axis, then both positions should have the same evaluation. One of our main priorities was to have a fully automatised tool. Source inputs are obtained from available datasets while follow-up inputs are automatically computed by applying sound transformations to the source inputs with respect to the corresponding metamorphic rule. In order to assess the usefulness of our work, we applied it to analyse a dataset with more than 40,000 positions. Results: Empirical evidence validates the usefulness of our work to analyse the best available chess engine, Stockfish. Our tool revealed non-negligible deviations from the expected behaviour in Stockfish for all the MRs. Additional experiments showed that our tool can be easily used to analyse other chess engines such as Komodo, Houdini and Gull. Conclusion: The experiments demonstrate the usefulness of our approach to identify issues in the latest version of the widely recognised to be the best chess engine: Stockfish (version 15, released in April 2022). Our tool is flexible and can be easily extended with metamorphic relations that can be defined in the future by either us or other users. Since all our metamorphic relations are implemented and the code is freely available, users can use them as a pattern to implement new relations.
dc.description.departmentDepto. de Sistemas Informáticos y Computación
dc.description.facultyFac. de Informática
dc.description.fundingtypeAPC financiada por la UCM
dc.description.refereedTRUE
dc.description.statuspub
dc.identifier.doihttps://doi.org/10.1016/j.infsof.2023.107263
dc.identifier.issn0950-5849
dc.identifier.officialurlhttps://www.sciencedirect.com/search?qs=10.1016/j.infsof.2023.107263
dc.identifier.relatedurlhttps://www.sciencedirect.com/science/article/pii/S0950584923001179
dc.identifier.urihttps://hdl.handle.net/20.500.14352/103828
dc.issue.number107263
dc.journal.titleInformation and Software Technology
dc.language.isoeng
dc.publisherElsevier
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internationalen
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subject.keywordSoftware testing
dc.subject.keywordMetamorphic testing
dc.subject.keywordChess engines
dc.subject.ucmInformática (Informática)
dc.subject.unesco33 Ciencias Tecnológicas
dc.titleMetamorphic testing of chess engines
dc.typejournal article
dc.type.hasVersionVoR
dc.volume.number162
dspace.entity.typePublication
relation.isAuthorOfPublicationa5fe4cf9-8928-45d4-8e32-5d1f846e5eb9
relation.isAuthorOfPublication26825d32-1d0a-4bbb-b145-e014e22f1a88
relation.isAuthorOfPublication.latestForDiscoverya5fe4cf9-8928-45d4-8e32-5d1f846e5eb9

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
metamorphic testing.pdf
Size:
4.14 MB
Format:
Adobe Portable Document Format

Collections