Is mutation an appropriate tool for testing experiments ?

✒ Enzo SandrĂ© · 📆 15/12/2022 · đŸ„Œ ÉpistĂ©mologie

🔬 Contrairement Ă  l’aviation ou Ă  la pharmacologie, nous ne publions pas nos Ă©checs. C’est un grand manque lorsqu’il s’agit de valider des hypothĂšses de recherche. Aussi les chercheurs remplacent de vrais bugs par des faux lorsqu’ils Ă©tudient les moyens de les combattre. Deux outils sont principalement utilisĂ©s : la mutation et l’introduction manuelle.

đŸ‘Ÿ La mutation consiste Ă  crĂ©er des mutants, des copies du code ayant subi un changement prĂ©programmĂ© (inverser une condition, incrĂ©menter une constante, supprimer une ligne, etc.)

đŸ§‘â€đŸ’» L’introduction manuelle emploie un dĂ©veloppeur expĂ©rimentĂ©, payĂ© pour introduire des bugs en amont de la recherche. Job de rĂȘve s’il en est.

✔ La mutation et l’introduction manuelle sont-ils des substituts lĂ©gitimes aux vrais bugs ? Une Ă©quipe canadienne a vĂ©rifiĂ©. Les mutants obtiennent une bonne corrĂ©lation avec les vrais bugs, Ă  condition que les opĂ©rateurs de mutation choisis soient correctement sĂ©lectionnĂ©s. L’introduction manuelle tend Ă  introduire d’énormes biais. L’équipe recommande de toujours faire rĂ©pliquer les Ă©tudes de basant sur cette seconde technique par d’autres chercheurs. Ce qui suppose de documenter le processus d’introduction des bugs.

SOURCE

J. H. Andrews, L. C. Briand, and Y. Labiche. 2005. Is mutation an appropriate tool for testing experiments? In Proceedings of the 27th international conference on Software engineering (ICSE ‘05). Association for Computing Machinery, New York, NY, USA, 402–411. DOI:10.1145/1062455.1062530

Enzo Sandré


DOIs: 10.1145/1062455.1062530