Publication Type

Conference Proceeding Article

Version

acceptedVersion

Publication Date

10-2023

Abstract

Most online code snippets do not run. This means that developers looking to reuse code from online sources must manually find and fix errors. We present an approach for automatically evaluating and correcting errors in Node.js code snippets: Node Code Correction (NCC). NCC leverages the ability of the TypeScript compiler to generate errors and inform code corrections through the combination of TypeScript’s builtin codefixes, our own targeted fixes, and deletion of erroneous lines. Compared to existing approaches using linters, our findings suggest that NCC is capable of detecting a larger number of errors per snippet and more error types, and it is more efficient at fixing snippets. We find that 73.7% of the code snippets in NPM documentation have errors; with the use of NCC’s corrections, this number was reduced to 25.1%. Our evaluation confirms that the use of the TypeScript compiler to inform code corrections is a promising strategy to aid in the reuse of code snippets from online sources.

Keywords

Error Correction, Node.js, Static Analysis

Discipline

Programming Languages and Compilers | Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

Proceedings of the 23rd International Working Conference on Source Code Analysis and Manipulation, Bogotá, Colombia, 2023 October 2-3

First Page

220

Last Page

230

ISBN

9798350305067

Identifier

10.1109/SCAM59687.2023.00031

Publisher

Institute of Electrical and Electronics Engineers Inc.

City or Country

Bogota, Colombia

Additional URL

https://doi.org/10.1109/SCAM59687.2023.00031

Share

COinS