基于GitHub仓库进行器官移植的初步探索
软件工程
2018-10-16 v1
摘要
器官移植是指利用与特定功能直接相关的代码来完成自身程序,相比传统组件复用为开发者提供了更大便利。然而,现有技术面临缺乏可移植器官的挑战。为此,我们开展了一项从GitHub仓库提取器官以探索基于大规模数据集移植的实证研究。我们分析了12个代表性GitHub项目的统计信息,得出以下结论:1)在提交注释中含add关键词的提交中存在大量实用器官;2)该仓库中的器官主要包含四类内容;3)约70%的器官易于移植。针对不同类型器官实施我们的移植策略,我们手动提取了30个分别用Java、Python和C三种编程语言编写的器官,并利用四种测试工具(两种用于Java、一种用于Python、一种用于C)对它们进行单元测试。最后,我们将三个Java器官移植到某特定平台进行性能检验,以验证其能否在新系统中良好工作。我们策略提取的全部30个器官在单元测试中表现良好,最高通过率达97%,最低也通过80%;三个Java器官在新系统中工作良好,为主机提供了三项新功能。所有结果均表明基于开源仓库的器官移植具有可行性,为代码复用带来新思路。
引用
@article{arxiv.1810.04825,
title = {An Initial Step Towards Organ Transplantation Based on GitHub Repository},
author = {Shangwen Wang and Xiaoguang Mao and Yue Yu},
journal= {arXiv preprint arXiv:1810.04825},
year = {2018}
}
备注
14 pages