NCQ: Code reuse support for Node.js developers

Code reuse is an important part of software development. The adoption of code reuse practices is especially common among Node.js developers. The Node.js package manager, NPM, indexes over 1 Million packages and developers often seek out packages to solve programming tasks. Due to the vast number of...

Full description

Saved in:
Bibliographic Details
Main Authors: REID, Brittany, D'AMORIM, Marcelo, WAGNER, Markus, TREUDE, Christoph
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2023
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/8794
https://ink.library.smu.edu.sg/context/sis_research/article/9797/viewcontent/ncq.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-9797
record_format dspace
spelling sg-smu-ink.sis_research-97972024-05-30T08:48:31Z NCQ: Code reuse support for Node.js developers REID, Brittany D'AMORIM, Marcelo WAGNER, Markus TREUDE, Christoph Code reuse is an important part of software development. The adoption of code reuse practices is especially common among Node.js developers. The Node.js package manager, NPM, indexes over 1 Million packages and developers often seek out packages to solve programming tasks. Due to the vast number of packages, selecting the right package is difficult and time consuming. With the goal of improving productivity of developers that heavily reuse code through third-party packages, we present Node Code Query (NCQ), a Read-Eval-Print-Loop environment that allows developers to 1) search for NPM packages using natural language queries, 2) search for code snippets related to those packages, 3) automatically correct errors in these code snippets, 4) quickly setup new environments for testing those snippets, and 5) transition between search and editing modes. In two user studies with a total of 20 participants, we find that participants begin programming faster and conclude tasks faster with NCQ than with baseline approaches, and that they like, among other features, the search for code snippets and packages. Our results suggest that NCQ makes Node.js developers more efficient in reusing code. 2023-05-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/8794 info:doi/10.1109/TSE.2023.3248113 https://ink.library.smu.edu.sg/context/sis_research/article/9797/viewcontent/ncq.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Library selection Code reuse code search Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Library selection
Code reuse
code search
Software Engineering
spellingShingle Library selection
Code reuse
code search
Software Engineering
REID, Brittany
D'AMORIM, Marcelo
WAGNER, Markus
TREUDE, Christoph
NCQ: Code reuse support for Node.js developers
description Code reuse is an important part of software development. The adoption of code reuse practices is especially common among Node.js developers. The Node.js package manager, NPM, indexes over 1 Million packages and developers often seek out packages to solve programming tasks. Due to the vast number of packages, selecting the right package is difficult and time consuming. With the goal of improving productivity of developers that heavily reuse code through third-party packages, we present Node Code Query (NCQ), a Read-Eval-Print-Loop environment that allows developers to 1) search for NPM packages using natural language queries, 2) search for code snippets related to those packages, 3) automatically correct errors in these code snippets, 4) quickly setup new environments for testing those snippets, and 5) transition between search and editing modes. In two user studies with a total of 20 participants, we find that participants begin programming faster and conclude tasks faster with NCQ than with baseline approaches, and that they like, among other features, the search for code snippets and packages. Our results suggest that NCQ makes Node.js developers more efficient in reusing code.
format text
author REID, Brittany
D'AMORIM, Marcelo
WAGNER, Markus
TREUDE, Christoph
author_facet REID, Brittany
D'AMORIM, Marcelo
WAGNER, Markus
TREUDE, Christoph
author_sort REID, Brittany
title NCQ: Code reuse support for Node.js developers
title_short NCQ: Code reuse support for Node.js developers
title_full NCQ: Code reuse support for Node.js developers
title_fullStr NCQ: Code reuse support for Node.js developers
title_full_unstemmed NCQ: Code reuse support for Node.js developers
title_sort ncq: code reuse support for node.js developers
publisher Institutional Knowledge at Singapore Management University
publishDate 2023
url https://ink.library.smu.edu.sg/sis_research/8794
https://ink.library.smu.edu.sg/context/sis_research/article/9797/viewcontent/ncq.pdf
_version_ 1814047532003622912