Background: Software development results in the production of various types of artifacts: source code, version control system metadata, bug reports, mailing list conversations, test data, etc. Empirical software engineering (ESE) has thrived mining those artifacts to uncover the inner workings of software development and improve its practices. But which artifacts are studied in the field is a moving target, which we study empirically in this paper.Aims: We quantitatively characterize the most frequently mined and co-mined software artifacts in ESE research and the research purposes they support.Method: We conduct a meta-analysis of artifact mining studies published in 11 top conferences in ESE, for a total of 9621 papers. We use natural language processing (NLP) techniques to characterize the types of software artifacts that are most often mined and their evolution over a 16-year period (2004-2020). We analyze the combinations of artifact types that are most often mined together, as well as the relationship between study purposes and mined artifacts.Results: We find that: (1) mining happens in the vast majority of analyzed papers, (2) source code and test data are the most mined artifacts, (3) there is an increasing interest in mining novel artifacts, together with source code, (4) researchers are most interested in the evaluation of software systems and use all possible empirical signals to support that goal.
翻译:软件: 软件开发在生产各类文物方面的成果: 源代码、 版本控制系统元数据、 错误报告、 邮件列表对话、 测试数据等。 经验软件工程(ESE) 开发了这些文物以发现软件开发的内部功能并改进其做法。 但是,实地研究哪些文物是一个移动目标,我们在本文中从经验上研究。 Aims: 我们量化了ESE研究中最经常被开采和共处理的软件文物及其所支持的研究目的。 方法 : 我们对在ESE的11次最高级会议上出版的文物采矿研究进行了元分析, 总共9621份文件。 我们使用自然语言处理技术来描述16年期间(2004-2020年)最经常被开采的各类软件及其演变。 我们分析了最经常被开采的文物种类的组合,以及研究目的和采矿文物所支持的研究目的之间的关系。 Results: 我们发现:(1) 采矿活动在绝大多数分析的文件中发生,(2) 源代码和测试数据是采矿业研究者最感兴趣的新手工艺品评估来源。 (3) 最感兴趣的是采矿者们可能使用的新手法。