arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2007.10213cs.SE
收藏

实践中的软件开发分析:一项系统文献综述

Software Development Analytics in Practice: A Systematic Literature Review

Joao Caldeira, Fernando Brito e Abreu, Jorge Cardoso, Rachel Simões, Toacy Oliveira, José Reis

AI总结:

本系统文献综述分析了过去十年软件开发分析在实际环境中的应用,发现其数据源、挖掘方法多集中于质量维度,但在过程挖掘、时间与成本控制及风险管理方面仍存在较大改进空间。

摘要:

背景:软件开发分析是一个研究领域,旨在提供洞察以改进产品交付和流程。为此,人们使用了多种类型的研究、数据源和挖掘方法。目标:本系统文献综述旨在提供过去十年中关于软件开发分析的相关研究的汇总视图,重点关注其在实际环境中的应用。方法:在多个数字图书馆上定义并执行搜索字符串,随后使用质量评估标准来识别最相关的论文。在这些论文中,我们提取了一组特征(研究类型、数据源、研究视角、覆盖的开发生命周期活动、利益相关者、挖掘方法和分析范围),并根据分类法对其影响进行了分类。结果:源代码仓库、实验案例研究和开发者分别是最常见的数据源、研究类型和利益相关者。产品和项目经理也经常出现,但少于预期。挖掘方法发展迅速,这反映在所识别出的长列表中。描述性统计是最常用的方法,其次是相关性分析。由于软件开发是每个组织中的重要过程,因此发现过程挖掘仅出现在一项研究中令人意外。对软件开发生命周期的大多数贡献体现在质量维度上。时间管理和成本控制讨论较少。对安全方面的分析表明,这是从业者日益关注的话题。风险管理的贡献很少。结论:实践中的软件开发分析还有很大的改进空间。例如,挖掘和分析软件开发人员在实际工作台(IDE)中执行的活动。

英文摘要:

Context:Software Development Analytics is a research area concerned with providing insights to improve product deliveries and processes. Many types of studies, data sources and mining methods have been used for that purpose. Objective:This systematic literature review aims at providing an aggregate view of the relevant studies on Software Development Analytics in the past decade, with an emphasis on its application in practical settings. Method:Definition and execution of a search string upon several digital libraries, followed by a quality assessment criteria to identify the most relevant papers. On those, we extracted a set of characteristics (study type, data source, study perspective, development life-cycle activities covered, stakeholders, mining methods, and analytics scope) and classified their impact against a taxonomy. Results:Source code repositories, experimental case studies, and developers are the most common data sources, study types, and stakeholders, respectively. Product and project managers are also often present, but less than expected. Mining methods are evolving rapidly and that is reflected in the long list identified. Descriptive statistics are the most usual method followed by correlation analysis. Being software development an important process in every organization, it was unexpected to find that process mining was present in only one study. Most contributions to the software development life cycle were given in the quality dimension. Time management and costs control were lightly debated. The analysis of security aspects suggests it is an increasing topic of concern for practitioners. Risk management contributions are scarce. Conclusions:There is a wide improvement margin for software development analytics in practice. For instance, mining and analyzing the activities performed by software developers in their actual workbench, the IDE.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑