@inproceedings{SyntestACRAutomated-Oliver2025,
    title = {Syntest-ACR: Automated Crash Reproduction for JavaScript},
    booktitle = {IEEE International Conference on Software Maintenance and Evolution (ICSME)},
    year = 2025,
    doi = "10.1109/ICSME64153.2025.00047",
    url = "https://michael.homer.nz/Publications/ICSME2025/SyntestACRAutomated-Oliver2025.pdf",
    author = {Oliver, Philip and Dietrich, Jens and Anslow, Craig and Homer, Michael},
    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.
    }
}
