Treffer: Bash in the Wild: Language Usage, Code Smells, and Bugs

Title:
Bash in the Wild: Language Usage, Code Smells, and Bugs
Publisher Information:
Association for Computing Machinery 2023
Document Type:
E-Ressource Electronic Resource
Availability:
Open access content. Open access content
Note:
English
Other Numbers:
HNK oai:repository.hkust.edu.hk:1783.1-136174
ACM Transactions on Software Engineering and Methodology, v. 32, (1), February 2023, article number 8, p. 1-22
1049-331X
1557-7392
1430646881
Contributing Source:
HONG KONG UNIV OF SCI & TECH, THE
From OAIster®, provided by the OCLC Cooperative.
Accession Number:
edsoai.on1430646881
Database:
OAIster

Weitere Informationen

The Bourne-again shell (Bash) is a prevalent scripting language for orchestrating shell commands and managing resources in Unix-like environments. It is one of the mainstream shell dialects that is available on most GNU Linux systems. However, the unique syntax and semantics of Bash could easily lead to unintended behaviors if carelessly used. Prior studies primarily focused on improving the reliability of Bash scripts or facilitating writing Bash scripts; there is yet no empirical study on the characteristics of Bash programs written in reality, e.g., frequently used language features, common code smells, and bugs. In this article, we perform a large-scale empirical study of Bash usage, based on analyses over one million open source Bash scripts found in Github repositories. We identify and discuss which features and utilities of Bash are most often used. Using static analysis, we find that Bash scripts are often error-prone, and the error-proneness has a moderately positive correlation with the size of the scripts. We also find that the most common problem areas concern quoting, resource management, command options, permissions, and error handling. We envision that these findings can be beneficial for learning Bash and future research that aims to improve shell and command-line productivity and reliability.