论文标题
实践中的软件开发分析:系统文献综述
Software Development Analytics in Practice: A Systematic Literature Review
论文作者
论文摘要
背景:软件开发分析是一个研究领域,涉及提供见解以改善产品交付和流程。许多类型的研究,数据源和采矿方法已用于此目的。目的:这项系统的文献综述旨在在过去十年中提供有关软件开发分析的相关研究的总体观点,并着重于其在实际环境中的应用。方法:在几个数字库上的搜索字符串定义和执行,然后是质量评估标准,以识别最相关的论文。在这些方面,我们提取了一组特征(研究类型,数据源,研究观点,涵盖的发展生命周期活动,利益相关者,采矿方法和分析范围),并将其对分类法的影响分类。结果:源代码存储库,实验案例研究和开发人员分别是最常见的数据源,研究类型和利益相关者。产品和项目经理也经常存在,但少于预期。采矿方法正在迅速发展,这反映在已确定的长列表中。描述性统计是最常见的方法,其次是相关分析。在每个组织中,成为软件开发是一个重要的过程,出乎意料的是,发现仅在一项研究中存在过程挖掘。对软件开发生命周期的大部分贡献是在质量维度中给出的。时间管理和成本控制进行了易于争议。对安全方面的分析表明,这对于从业者来说是一个越来越多的话题。风险管理的贡献很少。结论:在实践中,软件开发分析有很大的提高。例如,挖掘和分析软件开发人员在其实际工作台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.