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., SCAMiner) to automatically identify and extract self-claimed assumptions (SCAs) on GitHub projects. To evaluate the applicability of SCAMiner, we first presented an example of using the tool to mine SCAs 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 SCAMiner can effectively identify and extract SCAs from the repositories on GitHub.
翻译:在软件开发过程中,由于知识或信息缺乏、时间压力、复杂环境等多种因素,开发过程中会产生各种不确定性,导致项目中散布着各种假设。未能意识到某些假设可能导致严重问题(例如系统漏洞和故障)。分析和理解软件开发中假设的前提是能够以可接受的代价识别和提取这些假设。本文提出一种工具(即SCAMiner),用于自动识别和提取GitHub项目中的自称假设(SCAs)。为评估SCAMiner的适用性,我们首先展示了一个使用该工具从GitHub上大型热门深度学习框架项目——TensorFlow项目中挖掘SCAs的示例。随后对该工具进行了评估。结果表明,SCAMiner能够有效识别和提取GitHub仓库中的SCAs。