An Empirical Investigation of Command-Line Customization

12/18/2020
by   Michael Schröder, et al.
0

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.

READ FULL TEXT
research
08/29/2023

Designing Laboratory Notebooks for Managing Software-based Scientific Studies

Scientific processes rely on software as an important tool for data acqu...
research
06/22/2020

ReproduceMeGit: A Visualization Tool for Analyzing Reproducibility of Jupyter Notebooks

Computational notebooks have gained widespread adoption among researcher...
research
08/20/2019

Preserving Command Line Workflow for a Package Management System using ASCII DAG Visualization

Package managers provide ease of access to applications by removing the ...
research
07/13/2020

How Do Open Source Software Contributors Perceive and Address Usability? Valued Factors, Practices, and Challenges

Usability is an increasing concern in open source software (OSS). Given ...
research
12/10/2020

Green IT as a tool for design cloud-oriented sustainable learning environment of a higher education institution

The paper proposes the use of green IT as a tool for designing a cloud-o...
research
01/15/2018

Understanding Data Retrieval Practices: A Social Informatics Perspective

Open research data are heralded as having the potential to increase effe...
research
01/24/2023

MLinter: Learning Coding Practices from Examples-Dream or Reality?

Coding practices are increasingly used by software companies. Their use ...

Please sign up or login with your details

Forgot password? Click here to reset