In software development, due to the lack of knowledge or information, time pressure, complex context, and many other factors, various uncertainties emerge during the development process, leading to assumptions scattered in projects. Being unaware of certain assumptions can result in critical problems (e.g., system vulnerability and failures). The prerequisite of analyzing and understanding assumptions in software development is to identify and extract those assumptions with acceptable effort. In this paper, we proposed a tool (i.e., Assumption Miner) to automatically identify and extract assumptions on GitHub projects. To evaluate the applicability of Assumption Miner, we first presented an example of using the tool to mine assumptions from one large and popular deep learning framework project: the TensorFlow project on GitHub. We then conducted an evaluation of the tool. The results show that Assumption Miner can effectively identify and extract assumptions from the repositories on GitHub.
翻译:在软件开发过程中,由于知识或信息不足、时间压力、复杂上下文等多重因素,开发过程中会产生各种不确定性,导致项目中散布着各种假设。未能察觉某些假设可能引发关键问题(如系统漏洞与故障)。分析并理解软件开发中的假设,其前提是以可接受的工作量来识别和提取这些假设。本文提出了一种工具(即假设挖掘器),用于自动识别和提取GitHub项目中的假设。为评估假设挖掘器的适用性,我们首先展示了使用该工具从GitHub上大型流行深度学习框架项目(TensorFlow项目)中挖掘假设的示例,随后对该工具进行了评估。结果表明,假设挖掘器能够有效识别和提取GitHub仓库中的假设。