Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. An empirical investigation of command-line customization
This is not the latest version of this item. The latest version can be found here.

An empirical investigation of command-line customization

Thumbnail Image
Download
Name

10664_2021_Article_10036.pdf

Size

1.83 MB

Format

Adobe PDF

Checksum (MD5)

2e4a502c939f36883ab042568fc62e1e

Download all files submitted through automated deposit
art_7936721121251114450.zip (1.5 MB)
Author(s)
Schröder, Michael
•
Cito, Jürgen
Date Issued
December 14, 2021
Publisher
Springer US
Citation
Empirical Software Engineering. 2021 Dec 14;27(2):30
Version
Final published version
Abstract
Abstract The interactive command line, also known as the shell, is a prominent mechanism used extensively by a wide range of software professionals (engineers, system administrators, data scientists, etc.). Shell customizations can therefore provide insight into the tasks they repeatedly perform, how well the standard environment supports those tasks, and ways in which the environment could be productively extended or modified. To characterize the patterns and complexities of command-line customization, we mined the collective knowledge of command-line users by analyzing more than 2.2 million shell alias definitions found on GitHub. Shell aliases allow command-line users to customize their environment by defining arbitrarily complex command substitutions. Using inductive coding methods, we found three types of aliases that each enable a number of customization practices: Shortcuts (for nicknaming commands, abbreviating subcommands, and bookmarking locations), Modifications (for substituting commands, overriding defaults, colorizing output, and elevating privilege), and Scripts (for transforming data and chaining subcommands). We conjecture that identifying common customization practices can point to particular usability issues within command-line programs, and that a deeper understanding of these practices can support researchers and tool developers in designing better user experiences. In addition to our analysis, we provide an extensive reproducibility package in the form of a curated dataset together with well-documented computational notebooks enabling further knowledge discovery and a basis for learning approaches to improve command-line workflows.
Terms of Use
Creative Commons Attribution
https://creativecommons.org/licenses/by/4.0/
Persistent DSpace Link
https://hdl.handle.net/1721.1/138728
DOI of Published Version
https://doi.org/10.1007/s10664-021-10036-y
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.