• Home
  • Search
  • Detecting JavaScript Transpiler Bugs with Grammar-guided Mutation
  • https://doi.org/10.1109/saner56733.2023.00058Copy DOI Icon

Detecting JavaScript Transpiler Bugs with Grammar-guided Mutation

  • Mar 1, 2023
  • Le Chen +3 more
Show More
  • Abstract
  • Literature Map
  • References
  • Similar Papers
Abstract

JavaScript (JS) transpilers translate JS programs from a higher grammar standard to a lower one, which are widely used to ensure the compatibility of JS features in software (e.g., browsers). However, JS transpilers can have bugs that lead to unintended behavior in the translated JS programs. Existing JS program generation approaches could not test JS transpilers effectively since it is hard to generate a large number of valid JS programs in specific grammar standards. In this paper, we propose TransFuzz, a grammar-guided mutation approach to find JS transpiler bugs.The key insight of TransFuzz is to generate syntax-specific JS programs by mutating the abstract syntax trees (ASTs) of JS programs with the guidance of the specific grammar. First, Trans- Fuzz parses JS programs collected from open-source platforms into ASTs to obtain subtrees and leaf nodes containing specific JS syntax. Then, a grammar-guided approach is developed in TransFuzz to mutate the ASTs of the given JS programs guided by different versions of JS grammar standards. In addition, mutation operations could introduce grammatical errors. To improve the correctness of the mutated ASTs, TransFuzz develops heuristic-based correction rules to correct reference errors, type errors, and syntax errors in the mutated ASTs. After correction, the mutated ASTs are converted to the corresponding JS programs. Finally, based on differential testing, TransFuzz utilizes the generated JS programs to detect JS transpiler bugs.Our evaluation shows that TransFuzz significantly outperforms existing JS program generation approaches by triggering 47.82%-385.71% more JS transpiler bugs. Within ten months, we have reported 73 bugs on two popular JS transpilers babel and swc, of which 58 have been confirmed.

Similar Papers
  • Research Article
  • Citations37

Static analysis of event-driven Node.js JavaScript applications

  • Oct 23, 2015
  • ACM SIGPLAN Notices
  • Magnus Madsen +2
  • Research Article
  • Citations8

Forecasting the Principal of Code Technical Debt in JavaScript Applications

  • Apr 01, 2023
  • IEEE Transactions on Software Engineering
  • Ioannis Zozas +2
  • PDF
  • Research Article
  • Citations37

Translation Quality and Error Recognition in Professional Neural Machine Translation Post-Editing

  • Sep 17, 2019
  • Informatics
  • Jennifer Vardaro +2
  • Research Article
  • Citations26

Critical reading effort during text revision

  • Jul 01, 2008
  • European Journal of Cognitive Psychology
  • Jean-Yves Roussey +1
  • Research Article

ANALYSIS OF LANGUAGE ERRORS IN THE ARABIC TEXTBOOK FOR MIDDLE SCHOOL GRADE 2 AT THAMAVITYA MULNITI SCHOOL OF THAILAND

  • Jan 05, 2025
  • Thariqah Ilmiah: Jurnal ilmu-ilmu kependidikan & Bahasa Arab
  • Wildatul Muyasiroh +3
  • Research Article
  • Citations10

Types of Errors in Block Programming: Driven by Learner, Learning Environment

  • Jun 18, 2022
  • Journal of Educational Computing Research
  • Anat Ben-Yaacov +1
  • Research Article
  • Citations3

Automatic detection and correction of discourse marker errors made by Spanish native speakers in Portuguese academic writing

  • May 06, 2019
  • Language Resources and Evaluation
  • Lianet Sepúlveda-Torres +2
  • Research Article
  • Citations6

Death certification errors in medical certificates of cause of death related to COVID-19 disease

  • Sep 28, 2022
  • International Journal Of Community Medicine And Public Health
  • Amit Patil +1
  • Research Article
  • Citations3

Investigation on Java Mutation Testing Tools

  • Aug 07, 2022
  • JOIV : International Journal on Informatics Visualization
  • Sara Tarek Elsayed Abbas +4
  • Book Chapter

CHAPTER 9 - Errors and Pitfalls

  • Jan 01, 2010
  • Essential Matlab for Engineers and Scientists
  • Brian H Hahn +1
  • Conference Article
  • Citations8

Analyzing Refactorings' Impact on Regression Test Cases

  • Jul 01, 2015
  • Yuan Gao +4
  • PDF
  • Research Article
  • Citations9

Correlating automatic static analysis and mutation testing: towards incremental strategies

  • Nov 03, 2016
  • Journal of Software Engineering Research and Development
  • Cláudio A Araújo +3
  • Research Article
  • Citations40

Computational thinking in early childhood education: The impact of programming a tangible robot on developing debugging knowledge

  • Jan 01, 2023
  • Early Childhood Research Quarterly
  • Anastasia Misirli +1
  • PDF
  • Book Chapter
  • Citations4

Virtual Internet of Things Laboratory Using Node-RED

  • Oct 05, 2022
  • Kalapatapu Venkata Sai Krishna Raja Shiva Kumar +2
  • PDF
  • Research Article
  • Citations1

Visual and Phonological Feature Enhanced Siamese BERT for Chinese Spelling Error Correction

  • Apr 30, 2022
  • Applied Sciences
  • Yujia Liu +3
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.