软件演化论文开题报告文献综述

软件演化论文开题报告文献综述

导读:本文包含了软件演化论文开题报告文献综述、选题提纲参考文献,主要关键词:软件,模型,代码,切片,构件,重构,语料库。

软件演化论文文献综述写法

折蓉蓉,张丽萍[1](2019)在《基于软件演化历史识别并推荐重构克隆的方法》一文中研究指出现有克隆代码重构研究局限于单一版本的静态分析,忽略了克隆代码的演化过程,这导致在克隆代码重构决策方面缺乏有效的方法。因此文中首先从克隆检测、克隆映射、克隆家系以及软件维护日志管理系统中提取与克隆代码密切相关的演化历史信息;其次识别出需要重构的克隆代码,同时识别出跟踪的克隆代码,然后提取与重构相关的静态特征和演化特征,并构建特征样本数据库;最后对比多种机器学习的方法对,选出效果最佳的分类器推荐重构克隆。在7款软件近170个版本上进行的实验表明,推荐重构克隆代码的准确度达到90%以上,这为软件开发和维护人员提供了更加准确、合理的代码重构建议。(本文来源于《计算机科学》期刊2019年08期)

李天硕,贾庆轩,陈钢,申岳[2](2019)在《载荷软件演化中的相互一致性研究》一文中研究指出为保障软件定义卫星的有效载荷软件在轨升级中的相互一致性,针对以构件作为演化基本单位的有效载荷软件,提出一种软件演化推演方法。首先,针对软件动态演化技术,设计以构件为基础的软件架构,并划分软件层次;然后,对载荷软件的抽象描述展开研究,在构件运算关系和构件间交互行为的基础上,提出基于叁维列向量代数运算的软件系统模型;最后,基于软件模型,对构件增加、删除和替换叁个操作,对软件演化过程进行实例分析。通过约束构件行为,降低了对软件直接演化的潜在风险,保证了载荷软件演化过程中的相互一致性。(本文来源于《2019软件定义卫星高峰论坛摘要集》期刊2019-07-05)

章晓芳,朱灿[3](2019)在《代码坏味对软件演化影响的实证研究》一文中研究指出代码坏味是指程序设计中存在的不良设计模式或设计缺陷.坏味的存在,被认为会阻碍软件的演化与维护.近年来,研究人员致力于探究坏味产生的影响以及坏味与软件演化之间的关系.已有研究表明,代码坏味会随着软件的演化而不断发生变化.通常,软件的演化将涉及源文件的增加、修改与删除这3类具体操作,了解代码坏味与软件演化中源文件操作的关系,将有助于开发者更好地计划软件开发过程和重构软件代码.因此,针对13种常见的坏味,在8个Java项目共计104个版本中进行了系统的实证研究.研究发现,随着软件版本的演化,含代码坏味的文件在整个项目中的占比在不同的项目中呈现出不同的特征.另外,包含代码坏味的文件更倾向于被修改,而坏味本身与文件的添加或者删除并没有太大的关联.更进一步地,在探究的所有坏味中,有几种特定的坏味对文件的修改产生了显着的影响,且这些坏味文件间存在着明显的重迭.这些发现有助于开发人员更好地了解代码坏味,以便于更好地对软件进行维护.(本文来源于《软件学报》期刊2019年05期)

折蓉蓉[4](2019)在《利用软件演化历史识别并推荐重构克隆》一文中研究指出针对克隆代码在软件中存在的复杂性越来越高,仅靠检测出这些克隆代码并不能降低软件维护成本。因此基于克隆检测的结果,研究者们又开展了克隆管理方面的研究。为了有效管理克隆代码,重构逐渐成为人们关注的一个焦点。重构与软件的质量,如可维护性、稳定性、健壮性都有着密切的联系,经过重构的克隆代码往往比未经过重构的克隆代码具有更高的质量,所以重构对于软件质量保证有着重要的理论意义和应用价值。重构软件系统中所有克隆代码是不切实际的,也不是所有克隆代码都需要重构。盲目地重构可能会影响到软件中其他有益的代码,导致软件质量下降,因此,在对克隆代码进行有效维护之前识别出适合重构的克隆代码则变得尤为关键。现有方法在克隆代码重构的识别和推荐上存在着一定的局限性,亟需一种新的、有效的方法对重构的克隆代码进行识别和推荐。本文以”识别和推荐重构克隆”为切入点,为软件开发与维护人员提供有价值的参考信息。具体工作如下:1.克隆代码演化历史信息需要从克隆检测、克隆映射、克隆家系以及维护提交日志四个方面进行提取。首先使用NiCad检测工具获取软件中克隆代码检测结果;其次使用一种基于词频向量计算、克隆位置距离关系和克隆特征相结合的分层映射方法,来获取克隆代码的映射关系;然后基于前期预研成果FCGE克隆家系工具,提取7种演化模式;最后根据SVN来提取克隆代码维护日志。2.在克隆代码演化历史信息的基础上,识别出克隆代码重构和跟踪候选集。关注在演化过程中经过维护之后克隆群内的克隆片段发生了一致性变化的情况,将这种情况归入到重构候选集中。关注在演化历史过程中,克隆群经过维护之后克隆片段发生分离现象,并在之后的维护操作后重新合并成一个克隆群。将这种情况归入到跟踪候选集中。3.在重构候选集中,提取与克隆重构相关的静态特征和演化特征,构建特征数据库。在重构候选集中提取克隆代码段、克隆关系、克隆上下文叁大类静态特征,使用重构工具SourceMonitor来提取这叁大类静态特征。同时使用FCGE来提取演化模式、改变频率等相关的演化特征。4.使用机器学习的方法推荐出需要重构的克隆代码。本文将特征数据集分为四个子集,分别是克隆代码段、克隆关系、克隆上下文、演化信息相关的四个子集。然后使用决策树、贝叶斯网络等机器学习方法对这四个子集训练的分类器分别进行预测,最后选出效果最佳的机器学习方法来推荐重构克隆代码。经实验表明本文推荐重构克隆的方法达到90%的精度,同时使用决策树推荐重构克隆的效果最佳。(本文来源于《内蒙古师范大学》期刊2019-04-10)

莫誉铭[5](2018)在《基于模型的软件演化》一文中研究指出本文主要介绍基于模型的软件演化,其意义是用模型驱动的方法来进行软件演化,因为模型驱动的方式有着降低工作量的前景,所以用于耗费精力的软件演化是理所当然的,本文从软件演化何模型驱动的概念开始,介绍了基于模型的软件演化,包括模型驱动的概念和实现框架,应用模型驱动工程的模型演化的特点以及其不足之处,因为这种方式的演化并没有太多的实际应用,所以本文主要内容在于模型驱动工程MDE的介绍。(本文来源于《通讯世界》期刊2018年10期)

钱晔,彭琳,李彤,郁涌,李文峰[6](2018)在《面向同步交互的软件演化过程全局层和过程层的建模》一文中研究指出在全球化软件开发的背景下,针对分布在不同地域的开发团队频繁同步交互式所引起的软件演化过程的可信问题,和软件演化过程元模型EPMM构建的软件演化过程模型描述的同步交互是非形式化的问题,提出了使用通信系统演算CCS为形式工具的分布式软件演化过程元模型CEPMM.基于CEPMM构建分布式软件演化过程多层模型,包括全局层、过程层、活动层及任务层:任务是原子的,不可分割;为建立分布式软件演化过程全局层和过程层模型提出一种建模方法;最后为实现基于EPMM建模到基于CEPMM建模全局层和过程层转化,在Visual Studio平台下使用C#语言研发出工具CLPmodel.结果表明:全局层和过程层模型的建立,为在该粒度上对分布式软件演化过程的可信分析与研究奠定基础.(本文来源于《云南大学学报(自然科学版)》期刊2018年04期)

成蕾[7](2018)在《软件演化环境下构件重要性度量方法的研究》一文中研究指出软件系统逐渐发展为服务和构件的组合交付,并在社会的发展中出于需要被不断地调整和扩展,使得软件系统的规模和结构都趋于复杂化。这种普遍存在于软件系统中,软件系统逐渐变化直至达到理想形态的一系列的复杂变化活动就是软件演化。然而,随着软件系统功能和规模的发展,对软件演化的掌握和控制变得越发复杂,难度也日益增加。在软件演化这一热点、难点领域中,传统的度量方法在软件演化中尽管展现了软件演化的某些特性,但这些方法都共性地提早陷入软件结构中复杂的细节,对于宏观方面关注不够,难以整体且全面地把握软件结构。针对这一问题,本文认为,在对结构复杂、规模庞大的软件系统进行演化时,把握软件系统的宏观结构,度量出重要的构件,不仅可以节约演化成本,在软件体系结构演化的时候,更有助于更好地把握这些重要的构件的演化过程,降低演化风险,同时避免浪费演化资源,聚焦监控管理那些在演化活动中比较难控制的活动和构件。因此,本文致力于提出一种在宏观方面对软件体系结构进行把握的方法,并度量出复杂软件系统中的构件的重要性,对复杂软件系统的演化提供依据和支撑。本文提出了软件体系结构的有向图模型。该模型以软件体系结构为蓝图和支撑,以软件系统的构件作为有向图模型的节点,构件之间的依赖关系为有向边。在软件体系结构的有向图模型的基础上,计算构件的节点介数和总依赖,将节点介数和构件的总依赖结合,对构件的重要性进行综合性度量,并分析这二个指标的相关性,验证度量方法的有效性。总之,本文的工作为软件演化中度量出软件系统的重要构件提供了有力依据,将节约软件演化的时间、资源成本,提高软件演化的质量和效率,补充了传统的度量方法在掌握软件体系结构宏观特性方面的不足。(本文来源于《云南大学》期刊2018-06-01)

李扬[8](2018)在《模型切片技术及其在软件演化领域的应用》一文中研究指出软件演化是高质量软件开发的重要课题。随着互联网的爆炸式发展,软件系统也随之飞速发展。然而,随着软件系统复杂性不断增加,计算机软件系统变得越来越难以理解和维护,更多的节点和边被添加到图中,这将导致遗留系统的规模很可能超出其图形模型可以表示的范围,这必将导致遗留系统对应的图形模型的可读性降低。而一些研究人员在对大规模程序进行调试时发现:当一个规模巨大的软件系统按照一定的规则划分为若干个规模较小的程序时,可以很容易被理解和维护。因此,本文首先对程序切片的研究背景、国内外研究现状、主要技术、应用场景等进行了简要概括;接着对软件演化,程序切片,模型切片技术进行了介绍,然后对UML进行了研究分析,领会切片技术在软件演化领域的思想及实现过程;最后在对遗留系统演进策略进行研究的基础上,将程序切片引入到模型切片中,提出了一种动态模型切片方法来促进遗留系统演化。其主要过程为:首先理解遗留软件系统,并从遗留系统中提取更高代表性的模型。然后利用类图和通信图的依赖性分析构建CSDG类场景依赖图,为切片打下基础,然后根据给定的切片条件对依赖关系图(CSDG)进行切片,输出切片图。最后通过实例来说明提出的动态模型切片方法的可行性,用实例进一步说明了算法的过程与结果。最终通过案例来说明提出的方法通过减少不相关或独立的元素来简化系统模型,同时考虑模型中指定的给定元素。这将有助于系统在模型层面上对系统进行演化,从而有助于系统演进。案例研究表明,提出的方法是有用和高效的。(本文来源于《沈阳化工大学》期刊2018-03-11)

王成昌[9](2018)在《基于软件演化的性能评估与分析》一文中研究指出计算机技术的快速发展促使用户对各类软件的功能和性能提出更高的期望和要求,软件开发和维护的成本也随之不断升高。随着软件功能需求变化以及所处环境的动态变化,软件演化必然发生。如何在演化过程中保证软件的性能指标不降低,是从非功能的角度保证软件质量的重要课题。目前,软件性能测试作为一种衡量软件性能表现的有效方法,可以通过模拟多种负载条件对系统的各项性能指标进行测试,能够从非功能角度对软件质量进行度量与评估。然而,当前仍缺乏针对软件演化过程中的性能变化进行度量和评估的方法和工具。因此,如何在软件演化中度量并评估软件的性能变化,找出导致性能大幅下降的根源是本文的研究重点。本文在对软件演化、软件性能评估方法和性能监控工具进行调研的基础上,对现有性能评估方法进行改进,提出了基于软件演化的性能评估和分析方法及其相应的性能评估工具。具体如下:(1)通过对软件性能指标的调研,结合Java软件的特点,选取了要进行评估的软件性能指标(包括处理时间、CPU和内存的资源占用率);(2)提出了基于软件演化的软件性能评估和分析方法,通过对具有多个版本的Java软件进行性能评估与对比,确定性能变化的版本,然后通过相邻两个版本的性能指标差异和代码差异来分析并且定位造成软件性能变化的原因;(3)在此基础上,设计并实现了基于软件演化的,针对Windows操作系统中Java软件的性能评估工具,最后通过对开源软件的实验,验证了本文方法和工具的有效性和正确性。(本文来源于《东南大学》期刊2018-03-09)

游正洋[10](2018)在《基于动态主题模型的软件演化过程研究》一文中研究指出软件演化是一个软件系统不断调节变化从而满足开发需求的过程,演化的过程在整个软件生命周期中都会出现。软件需求的变更、算法的使用、运行环境的改变、功能的加强或删除等都会造成软件系统的不断变化,这些变化就需要软件系统具有较强的演化特性,随之而来的便是对软件演化的描述和理解变得越来越困难和复杂,因此,软件演化的分析研究在软件工程领域具有重要意义。在软件源代码层面对软件演化的研究通过对源代码的一系列预处理并利用主题模型算法提取出代码中隐含的主题并进行分析,得到软件主题随版本演化的变更信息。目前在代码层面使用的基于LDA的软件演化研究方法没有考虑到软件版本的时间属性。代码的各个版本是随时间不断演化的,而LDA本身为静态主题模型,自身并没有包含时间属性,因此,不考虑时间因素的主题模型对软件演化的分析存在缺陷。本文结合软件代码自身特征,综合考虑各方面因素,提出基于动态主题模型的软件演化分析方法,改用带有时间属性的动态主题模型对软件演化进行分析,使用动态主题模型来处理非自然语言,将其应用于软件源代码的主题提取,实现跨领域应用,同时,针对动态主题模型运行时间较长的问题对其进行改进。本文首先对软件各个版本的源代码进行预处理,构建软件源代码语料库,然后对动态主题模型进行改进,采用变分EM算法来建立动态主题模型,本文将改进的动态主题模型与LDA主题模型和没有改进的动态主题模型进行对比,验证改进的动态主题模型在软件源代码分析方面的效果,同时,将改进的动态主题模型与原模型在运行时间上进行对比以验证改进效果,最后采用该方法对软件各个版本的主题演化进行分析并与软件说明与开发文档进行对比,验证该分析方法的可行性。本文将PostgreSQL数据库和JHotDraw绘图框架多个版本的源代码作为评估的参考对象,评估了该演化分析方法的有效性。本文使用PostgreSQL的46个版本和JHotDraw的12个版本的源代码进行分析,通过实验分析,本文使用的基于动态主题模型的软件演化分析方法,在主题聚类准确度上要优于LDA主题模型,同时,在运行时间上改进后的动态主题模型也要优于原动态主题模型,在对软件演化的分析中,实验结果的分析结果与软件说明和开发文档基本吻合,说明该方能够有效的对软件演化过程进行分析和描述。(本文来源于《成都信息工程大学》期刊2018-03-01)

软件演化论文开题报告范文

(1)论文研究背景及目的

此处内容要求:

首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。

写法范例:

为保障软件定义卫星的有效载荷软件在轨升级中的相互一致性,针对以构件作为演化基本单位的有效载荷软件,提出一种软件演化推演方法。首先,针对软件动态演化技术,设计以构件为基础的软件架构,并划分软件层次;然后,对载荷软件的抽象描述展开研究,在构件运算关系和构件间交互行为的基础上,提出基于叁维列向量代数运算的软件系统模型;最后,基于软件模型,对构件增加、删除和替换叁个操作,对软件演化过程进行实例分析。通过约束构件行为,降低了对软件直接演化的潜在风险,保证了载荷软件演化过程中的相互一致性。

(2)本文研究方法

调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。

观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。

实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。

文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。

实证研究法:依据现有的科学理论和实践的需要提出设计。

定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。

定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。

跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。

功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。

模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。

软件演化论文参考文献

[1].折蓉蓉,张丽萍.基于软件演化历史识别并推荐重构克隆的方法[J].计算机科学.2019

[2].李天硕,贾庆轩,陈钢,申岳.载荷软件演化中的相互一致性研究[C].2019软件定义卫星高峰论坛摘要集.2019

[3].章晓芳,朱灿.代码坏味对软件演化影响的实证研究[J].软件学报.2019

[4].折蓉蓉.利用软件演化历史识别并推荐重构克隆[D].内蒙古师范大学.2019

[5].莫誉铭.基于模型的软件演化[J].通讯世界.2018

[6].钱晔,彭琳,李彤,郁涌,李文峰.面向同步交互的软件演化过程全局层和过程层的建模[J].云南大学学报(自然科学版).2018

[7].成蕾.软件演化环境下构件重要性度量方法的研究[D].云南大学.2018

[8].李扬.模型切片技术及其在软件演化领域的应用[D].沈阳化工大学.2018

[9].王成昌.基于软件演化的性能评估与分析[D].东南大学.2018

[10].游正洋.基于动态主题模型的软件演化过程研究[D].成都信息工程大学.2018

标签:;  ;  ;  ;  ;  ;  ;  

软件演化论文开题报告文献综述
下载Doc文档

猜你喜欢