Syntest-ACR: Automated Crash Reproduction for JavaScript

Abstract

Automated Crash Reproduction (ACR) is an area of software testing research that aims to reproduce software crashes to improve developers’ ability to debug programs. There has been little progress in applying ACR techniques to JavaScript, as the highly dynamic nature of JavaScript poses challenges for program analysis and synthesis. We present SynTest-ACR, the first tool for ACR in JavaScript, applying artificial intelligence techniques to evolve suitable reproduction cases. We have evaluated SynTest-ACR against the CrashJS dataset consisting of 453 crashes. As a baseline, we ported the state-of-the-art search-guiding fitness function from EvoCrash for Java, finding that it performs much worse when applied to JavaScript programs, and through comprehensively designing and evaluating alternative fitness functions more suitable for JS ACR we obtain an 18.9% increase in reproduction rate over this baseline for Syntest-ACR.

Authors

Philip Oliver, Jens Dietrich, Craig Anslow, Michael Homer

Published in

IEEE International Conference on Software Maintenance and Evolution (ICSME) (ISCME), 2025

The final copy of this publication is available from the publisher.

Resources

PDF
mwh.nz/pdf/icsme25
this page
mwh.nz/pubs/icsme25
Michael Homer — 2025 45948092