Tool Choice Matters: JavaScript Quality Assurance Tools and Usage Outcomes in GitHub Projects

Tool Choice Matters: JavaScript Quality Assurance Tools and Usage Outcomes in GitHub Projects
复制标题

DOI:
10.1109/icse.2019.00060
复制
发表时间:
2019-05
期刊:
2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
David Kavaler;Asher Trockman;Bogdan Vasilescu;V. Filkov
David Kavaler;Asher Trockman;Bogdan Vasilescu;V. Filkov
中科院分区:
其他
文献类型:
--
作者:
David Kavaler;Asher Trockman;Bogdan Vasilescu;V. Filkov

文献摘要

被引文献

相似文献

质量保证自动化在现代软件开发中至关重要。在实践中,这种自动化受到多种工具的支持,这些工具满足不同的需求,并要求开发人员决定在给定的上下文中选择哪个工具。利弊的数据和分析可以为这些决策提供信息。然而,在大多数情况下,缺乏关于现有实践和工具选择有效性的经验证据。我们提出了一种通用方法来模拟自动化工具选择对四种感兴趣结果的时间依赖性影响:问题的普遍性、代码改动、拉取请求的数量和贡献者的数量,所有这些都具有多种控制。在 npm JavaScript 项目的大型数据集中,我们提取了三个任务类中流行工具的采用事件:linter、依赖管理器和覆盖率报告器。使用混合方法,我们研究采用的原因并比较每个类别内的采用效果以及跨类别的顺序工具采用。我们发现,每组中的某些工具比其他工具能产生更有益的结果,这为每种工具的好处提供了实证视角。我们还发现某些工具的实施顺序与不同的结果相关。
Quality assurance automation is essential in modern software development. In practice, this automation is supported by a multitude of tools that fit different needs and require developers to make decisions about which tool to choose in a given context. Data and analytics of the pros and cons can inform these decisions. Yet, in most cases, there is a dearth of empirical evidence on the effectiveness of existing practices and tool choices. We propose a general methodology to model the time- dependent effect of automation tool choice on four outcomes of interest: prevalence of issues, code churn, number of pull requests, and number of contributors, all with a multitude of controls. On a large data set of npm JavaScript projects, we extract the adoption events for popular tools in three task classes: linters, dependency managers, and coverage reporters. Using mixed methods approaches, we study the reasons for the adoptions and compare the adoption effects within each class, and sequential tool adoptions across classes. We find that some tools within each group are associated with more beneficial outcomes than others, providing an empirical perspective for the benefits of each. We also find that the order in which some tools are implemented is associated with varying outcomes.