Open source software (OSS) is a successful case of large-scale collaboration within the software field in the age of Internet . Studying the mechanism of OSS and applying the results in the innovation of software technology and products has strategic importance. The evolution of open source software is an important aspect of the OSS development mechanism. Traditional research of software evolution did not have the background of large-scale open collaboration environment, often focused on the abstract and macro aspects such as software architecture and conducted case studies with a small number of software projects. These make the results difficult to apply in the practice of OSS evolution. This project intends to, from a micro perspective, study the concrete and basic development output unit in OSS development, the code commits. Based on large-scale code commit data, this project investigates the code-commits-oriented open source micro process of software evolution. This project considers a number of commit change events and development activities like code review, tracks and traces the process,constructs a measurement framework of the process, attempts to find patterns and to reveal factors that impact their effect. It is going to build a quantitative analysis and decision-making tool based on the research results. This project targets at guiding the OSS practitioners to more effective participation in OSS development.
开源软件是互联网时代人们在软件领域开展的极为成功的大规模协作实践。研究开源软件的成功机理,并将其合理地运用于我国软件技术和产品创新,具有重大战略意义。开源软件的演化是开源软件开发核心机理的一个重要方面。传统的软件演化研究没有大规模开放协作环境的背景,一般从体系结构等抽象、宏观的角度入手,开展基于少量软件项目的个案研究,研究结果很难直接应用于开源软件演化实践。本项目从微观视角切入,以具体的基本开发产出单元——开源代码提交为对象,基于大规模开源代码提交数据,研究面向开源代码提交的软件演化微过程(简称“开源代码提交微过程”)。本项目将考虑微过程中的代码提交变迁事件,以及代码审查等相关开发活动,追溯微过程,建立一套系统化的代码提交微过程度量框架,发现微过程的模式和影响代微过程效果的关键因素,并将研究结果形成量化分析与决策工具,为实践者有效地参与开源软件开发提供可操作性强、有效性强的实践指南。
开源是一种新兴的大规模协作创新开发范式,近年来受到了学术界、产业界以及各国政府的广泛关注。本项目以代码提交为切入点,研究开源软件演化的微过程,为开源软件代码的有效治理,以及细粒度开源软件代码演化过程的量化分析提供支撑。项目以主流版本控制系统Git为基础,面向代码提交的拆解和追溯,质量分析,以及代码提交的高效存储和访问,分别开展了开源代码提交微过程的追踪和回溯研究、开源代码提交微过程度量框架研究、海量开源代码提交的组织与访问研究、开源代码提交微过程数据治理研究、开源代码提交微过程量化分析与优化工具及应用研究。项目最终取得的成果为一套开源代码提交微过程分析与优化的方法、技术及工具。该成果可以从代码提交的角度对大规模的开源开发协作过程进行量化分析,帮助开发者和其他相关者细粒度地精准了解开源软件的开发过程,发掘其中存在的模式及产生的效果,并辅助改进开源协作中的代码治理,提高海量代码及其变更历史的存储、访问和同步效率,降低开发成本,提高代码的质量,进而实现开源软件项目的良性演化。研究成果面向了开源学术研究生态中的基础部分,特别是最为基础的Git版本控制系统,以及开源开发数据,对整个研究生态具有关键的支撑作用,能够帮助和启发相关的研究者更好地开展开源研究工作。本成果在华为公司、南方电网等头部和关键行业企业开展应用实施,并产生了一定的成效,呈现了良好的应用前景。本成果也服务了我国首个自主开源社区——“木兰”开源社区的建设。
{{i.achievement_title}}
数据更新时间:2023-05-31
演化经济地理学视角下的产业结构演替与分叉研究评述
栓接U肋钢箱梁考虑对接偏差的疲劳性能及改进方法研究
青藏高原狮泉河-拉果错-永珠-嘉黎蛇绿混杂岩带时空结构与构造演化
气载放射性碘采样测量方法研究进展
基于全模式全聚焦方法的裂纹超声成像定量检测
面向开源开放开发的软件生态系统演化机制与健康性研究
面向开源软件复用的程序分析基础理论及方法研究
面向网构软件的过程演化技术研究
面向目标代码的软件抄袭检测及证据生成方法研究