基于软件网络模型的开源操作系统复杂性及演化分析技术研究
发布时间:2021-07-22 06:27
开源软件因其基于大规模群体协同的生产模式以及随需而变的持续演化能力已成为软件产业发展的强劲引擎。作为开源软件的一个重要分支,开源操作系统广泛应用于以金融、物流、教育、医疗、电子商务和旅游等为代表的现代服务行业。然而,其基于自组织、松耦合的开发方式使得开源操作系统的开发过程存在诸多不确定性,系统的内部结构及其交互关系随着软件规模和复杂性的剧增而逐渐超出软件开发人员的理解能力,对软件系统的质量保证以及安全性和鲁棒性造成了严重的威胁。如何有效应对开源操作系统这类复杂软件系统的挑战成为软件工程领域的重要课题。近年来,研究者们基于软件整体结构的软件网络理论,从全局角度来研究软件系统各要素之间的联系,对软件系统整体涌现特性、演化机理以及结构复杂性进行了有益探索,为防范开源软件系统缺陷,提高开源软件的安全性和可靠性取得了不少可喜成果。鉴此,本文在分析本领域国内外研究现状的基础上,基于软件网络相关理论和软件工程领域相关方法,以优麒麟操作系统为对象,首先将其软件结构抽象为由软件包及其连接关系组成的软件网络,进而从整体和全局的角度对开源操作系统复杂性及其演化机理和规律进行了多方位较深入的研究和实验分析,取...
【文章来源】:国防科技大学湖南省 211工程院校 985工程院校
【文章页数】:128 页
【学位级别】:博士
【部分图文】:
Linux2.6版本内核bug数量及生命周期图[5]
国防科技大学研究生院博士学位论文第14页图2.1开源软件社区具体来说,一个完整的社区包含了六个部分的基础设施[28]-[31]:1、主页(HomePage):通常来说,每个开源软件项目都维护了自己的门户,用于交流最新的项目进展,上传相应的项目文档以及开源软件的可用版本供用户下载以及使用,当然,在开源项目的主页中还提供了其他一些项目相关的资源的链接。2、代码库(CodeRepository):代码库作为开源项目的核心,用户可以随意下载查看开源项目的源代码,并可在遵守许可证要求的前提下使用代码。为了保证代码的质量以及项目的管理,在代码库的管理过程中,仅仅核心开发人员才拥有代目库的写权限。3、邮件列表(MailingList):开源社区最早的组织形式就是通过邮件列表的方式进行信息交流,并发布消息。对外是一个邮件地址,在内部则实际上维护了一组用户的邮件地址。所有发往邮件列表的邮件地址的邮件会被转发给列表中的所有用户。4、缺陷追踪系统(BugTrackingSystem):作为开源社区的重要组成部分,缺陷追踪系统用于追踪管理软件系统中出现的缺陷。对于开源软件来说,缺陷是具有生命周期的,其状态包含打开、已指派、已解决以及关闭四种类型。缺陷追踪系统需要对所有缺陷的生命周期进行管理。5、Wiki:Wiki是使用一种简单的标记式语言编写的网页,任何人都可以编辑、修改其内容。作为开源社区的主要的文档编写方式,任何用户和开发者均可对文档进行完善和编写。6、IRC(InternetRelayChat):实时网络聊天系统,在一个IRC服务器上,会根据讨论的主题建立不同的频道。从开源软件的兴起到现在经历的短短数十年中,众多研究者从未停止过对开
国防科技大学研究生院博士学位论文第22页图2.4复杂网络、规则网络以及随机网络三者之间的关系[65]从系统论的观点来看,可以将复杂网络视为一种复杂系统,其结构的复杂性体现在以下五个方面:1、复杂网络的结构复杂;这种结构的复杂性表现在网络的规模方面,一般来讲,被称为复杂网络的拓扑结构其拥有巨大的节点数目,相对比节点数目而言,连边的数量更多,并且节点之间的相互连接特征呈现出多样性。2、复杂网络是不断进化的;复杂网络多用于描述真实世界存在的网络拓扑结构,例如文献的引用,人与人之间的社交关系,在这种情况下,节点或者节点之间的连接关系可能会发生变化,例如新增一个社会关系,或这某个网页断开连接,这种实体间关系的变化带来的是节点的产生或者是新的连接的产生或者消失,因此,复杂网络是不断进化发展的。3、复杂网络节点之间的连接存在多样性;用于描述实体间相互关系的复杂网络往往具有一定的物理意义,其节点之间的连接可能具有指向性,而且这种连接方式在某种程度上可能存在权重的差异,这些都是根据现实的物理意义的不同而存在差异的。4、复杂网络的节点也存在多样性。复杂网络节点的物理意义随着应用领域的不同而代表着不同的含义,例如,对于互联网的连接而言,其中的单个网页可以
【参考文献】:
期刊论文
[1]软件开发方法发展回顾与展望[J]. 马晓星,刘譞哲,谢冰,余萍,张天,卜磊,李宣东. 软件学报. 2019(01)
[2]程序分析研究进展[J]. 张健,张超,玄跻峰,熊英飞,王千祥,梁彬,李炼,窦文生,陈振邦,陈立前,蔡彦. 软件学报. 2019(01)
[3]保持Motif结构的网络表示学习[J]. 许磊,黄玲,王昌栋. 计算机科学与探索. 2019(08)
[4]“可信软件基础研究”重大研究计划结题综述[J]. 何积丰,单志广,王戟,蒲戈光,房毓菲,刘克,赵瑞珍,张兆田. 中国科学基金. 2018(03)
[5]面向开源生态的软件数据挖掘技术研究综述[J]. 尹刚,王涛,刘冰珣,周明辉,余跃,李志星,欧阳建权,王怀民. 软件学报. 2018(08)
[6]开源软件与开源软件生态:现状与趋势[J]. 金芝,周明辉,张宇霞. 科技导报. 2016(14)
[7]国家关键交通网络的基元结构与系综特征[J]. 刘亮,许维胜,韩传峰. 同济大学学报(自然科学版). 2013(01)
[8]基于模体的科学家合作网络基元特征分析[J]. 缪莉莉,韩传峰,刘亮,曹吉鸣. 科学学研究. 2012(10)
[9]一种支持软件可信演化的构件模型[J]. 丁博,王怀民,史殿习,李骁. 软件学报. 2011(01)
[10]软件网络中结构洞与紧密度的研究[J]. 徐久强,刘红,赵海,于双. 东北大学学报(自然科学版). 2010(11)
博士论文
[1]开源软件可信证据挖掘与分析[D]. 袁霖.国防科学技术大学 2011
[2]大规模软件可信性度量分析原理及其方法的研究[D]. 刘铮.东北大学 2010
硕士论文
[1]基于子图支持度和分层抽样的网络模体发现算法研究[D]. 朱锋荣.湖南大学 2013
[2]波及度在软件网络中的分析和应用[D]. 赵佳丽.东北大学 2012
[3]基于复杂网络的软件系统演化分析[D]. 卢锁.东北大学 2012
本文编号:3296631
【文章来源】:国防科技大学湖南省 211工程院校 985工程院校
【文章页数】:128 页
【学位级别】:博士
【部分图文】:
Linux2.6版本内核bug数量及生命周期图[5]
国防科技大学研究生院博士学位论文第14页图2.1开源软件社区具体来说,一个完整的社区包含了六个部分的基础设施[28]-[31]:1、主页(HomePage):通常来说,每个开源软件项目都维护了自己的门户,用于交流最新的项目进展,上传相应的项目文档以及开源软件的可用版本供用户下载以及使用,当然,在开源项目的主页中还提供了其他一些项目相关的资源的链接。2、代码库(CodeRepository):代码库作为开源项目的核心,用户可以随意下载查看开源项目的源代码,并可在遵守许可证要求的前提下使用代码。为了保证代码的质量以及项目的管理,在代码库的管理过程中,仅仅核心开发人员才拥有代目库的写权限。3、邮件列表(MailingList):开源社区最早的组织形式就是通过邮件列表的方式进行信息交流,并发布消息。对外是一个邮件地址,在内部则实际上维护了一组用户的邮件地址。所有发往邮件列表的邮件地址的邮件会被转发给列表中的所有用户。4、缺陷追踪系统(BugTrackingSystem):作为开源社区的重要组成部分,缺陷追踪系统用于追踪管理软件系统中出现的缺陷。对于开源软件来说,缺陷是具有生命周期的,其状态包含打开、已指派、已解决以及关闭四种类型。缺陷追踪系统需要对所有缺陷的生命周期进行管理。5、Wiki:Wiki是使用一种简单的标记式语言编写的网页,任何人都可以编辑、修改其内容。作为开源社区的主要的文档编写方式,任何用户和开发者均可对文档进行完善和编写。6、IRC(InternetRelayChat):实时网络聊天系统,在一个IRC服务器上,会根据讨论的主题建立不同的频道。从开源软件的兴起到现在经历的短短数十年中,众多研究者从未停止过对开
国防科技大学研究生院博士学位论文第22页图2.4复杂网络、规则网络以及随机网络三者之间的关系[65]从系统论的观点来看,可以将复杂网络视为一种复杂系统,其结构的复杂性体现在以下五个方面:1、复杂网络的结构复杂;这种结构的复杂性表现在网络的规模方面,一般来讲,被称为复杂网络的拓扑结构其拥有巨大的节点数目,相对比节点数目而言,连边的数量更多,并且节点之间的相互连接特征呈现出多样性。2、复杂网络是不断进化的;复杂网络多用于描述真实世界存在的网络拓扑结构,例如文献的引用,人与人之间的社交关系,在这种情况下,节点或者节点之间的连接关系可能会发生变化,例如新增一个社会关系,或这某个网页断开连接,这种实体间关系的变化带来的是节点的产生或者是新的连接的产生或者消失,因此,复杂网络是不断进化发展的。3、复杂网络节点之间的连接存在多样性;用于描述实体间相互关系的复杂网络往往具有一定的物理意义,其节点之间的连接可能具有指向性,而且这种连接方式在某种程度上可能存在权重的差异,这些都是根据现实的物理意义的不同而存在差异的。4、复杂网络的节点也存在多样性。复杂网络节点的物理意义随着应用领域的不同而代表着不同的含义,例如,对于互联网的连接而言,其中的单个网页可以
【参考文献】:
期刊论文
[1]软件开发方法发展回顾与展望[J]. 马晓星,刘譞哲,谢冰,余萍,张天,卜磊,李宣东. 软件学报. 2019(01)
[2]程序分析研究进展[J]. 张健,张超,玄跻峰,熊英飞,王千祥,梁彬,李炼,窦文生,陈振邦,陈立前,蔡彦. 软件学报. 2019(01)
[3]保持Motif结构的网络表示学习[J]. 许磊,黄玲,王昌栋. 计算机科学与探索. 2019(08)
[4]“可信软件基础研究”重大研究计划结题综述[J]. 何积丰,单志广,王戟,蒲戈光,房毓菲,刘克,赵瑞珍,张兆田. 中国科学基金. 2018(03)
[5]面向开源生态的软件数据挖掘技术研究综述[J]. 尹刚,王涛,刘冰珣,周明辉,余跃,李志星,欧阳建权,王怀民. 软件学报. 2018(08)
[6]开源软件与开源软件生态:现状与趋势[J]. 金芝,周明辉,张宇霞. 科技导报. 2016(14)
[7]国家关键交通网络的基元结构与系综特征[J]. 刘亮,许维胜,韩传峰. 同济大学学报(自然科学版). 2013(01)
[8]基于模体的科学家合作网络基元特征分析[J]. 缪莉莉,韩传峰,刘亮,曹吉鸣. 科学学研究. 2012(10)
[9]一种支持软件可信演化的构件模型[J]. 丁博,王怀民,史殿习,李骁. 软件学报. 2011(01)
[10]软件网络中结构洞与紧密度的研究[J]. 徐久强,刘红,赵海,于双. 东北大学学报(自然科学版). 2010(11)
博士论文
[1]开源软件可信证据挖掘与分析[D]. 袁霖.国防科学技术大学 2011
[2]大规模软件可信性度量分析原理及其方法的研究[D]. 刘铮.东北大学 2010
硕士论文
[1]基于子图支持度和分层抽样的网络模体发现算法研究[D]. 朱锋荣.湖南大学 2013
[2]波及度在软件网络中的分析和应用[D]. 赵佳丽.东北大学 2012
[3]基于复杂网络的软件系统演化分析[D]. 卢锁.东北大学 2012
本文编号:3296631
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3296631.html