一、C++/C程序源代码书写风格的探讨(论文文献综述)
何亮,赵楷,孙甲松,黄永峰[1](2022)在《疫情防控常态化下程序设计语言课外教学探索》文中研究说明针对C/C++程序设计语言授课难点与教学现状,分析疫情带来的挑战和机遇,并以课外教学为突破口,提出以培养编程思维、掌握编程技巧、提升编程素养和培育编程审美为核心的教学目标,以扩展计算机通识教育、强化设计模式熏陶、与时俱进编程实践和精选高质量代码阅读为特色的课外教学内容改良,以网络社区、迭代学习、协作—竞争学习和分层教学为配套的课外教学方法改革,以配合课内教学,实现以解决问题为导向的教学目标。
魏敏,张丽萍[2](2021)在《代码搜索方法研究进展》文中指出开源软件的成功推动了软件产业的蓬勃发展,大量代码资源为代码搜索创造了条件。如何通过代码搜索技术找到需求代码成为一个重要问题。为了更好地推进后续研究工作,首先对代码搜索相关概念及研究趋势进行介绍和说明;其次对使用不同技术的代码搜索研究工作进行综述,包括基于信息检索、查询和代码描述增强、程序特征分类以及深度学习等方面,并进一步总结归纳不同方法的优缺点;接下来针对代码搜索技术所应用的多个领域进行介绍,包括程序合成、代码推荐与补全和代码风格改善等方面;最后分析现阶段代码搜索面临的主要问题,为未来该方向的发展提供一定的参考与建议。
艾禄[3](2021)在《基于深度学习的代码克隆检测技术的研究与实现》文中研究表明开发人员为提高软件开发效率,通常会复制已有的代码片段,并粘贴或进行微小修改后重复使用。因此,软件系统中经常会出现相似的代码片段,这种现象被称为代码克隆。虽然代码克隆可以提高初始生产力,但它可能会导致漏洞传播,并增加软件系统的维护成本。近年来,代码克隆检测已经成为软件工程领域一个越来越重要的研究课题。最近的检测代码克隆研究表明,基于抽象语法树的神经网络模型比其他方法能更好地表示源代码。研究人员使用基于树的卷积神经网络(Tree based Convolutional Neural Network,TBCNN)或者或者基于树的长短时记忆网络(Tree based Long ShortTerm Memory,Tree-LSTM)来编码抽象语法树,从而获得包含程序语法结构信息的向量表示。现有的TBCNN和Tree-LSTM是有效的,然而它们有局限性。研究表明,与NLP中的长文本相似,当抽象语法树很深时,这些以树为基础的神经网络模型也容易受到梯度消失问题的影响,即训练时,梯度会变得越来越小。为了解决现有的基于树的神经网络模型无法很好处理很深的抽象语法树的问题,本文探索了两种分解抽象语法树的方法。第一种方法是将抽象语法树分解为一组AST路径,使用比较聚合(compare-aggregate)模型将一组AST路径聚合为一个向量,以此作为整个抽象语法树的表示。实验结果显示,与直接用Tree-LSTM或TBCNN学习整个抽象语法树相比,该方法更有效。第二种方法是将抽象语法树分解为一个路径增强的语句序列,然后提出了相应的神经网络结构PCAN(path context augmented network)来学习路径增强的语句序列的向量表示,以此作为整个抽象语法树的表示。实验结果显示,该方法确实取得了性能上的提升。
陈杰[4](2021)在《面向源代码的作者归属判别方法研究》文中认为代码作者归属是识别给定代码作者的过程。随着越来越多的恶意软件和先进的变异技术出现,恶意软件的作者正在创造大量的恶意软件变种,寻找恶意代码作者身份的方法也随之成为热点。恶意代码中残留了显示作者风格的特征,这些信息可以帮助预测特定恶意软件的作者使用的工具和技术类型,以及恶意软件传播和发展的方式。代码作者归属技术可以用来识别和分类恶意软件的作者,选择较为明显的代码风格特征和更加高效的深度学习方法,对代码作者身份的判别有重要意义。现阶段,采用程序依赖图(Produce Dependency Graph,PDG)特征的机器学习方法进行源代码作者归属逐渐成为现阶段的研究热点。该方法在收集特征的过程中,包含了程序中的数据和依赖关系,但缺少对整个程序的耦合度的分析以及少量样本中存在数据集不平衡的问题,对具体情况下的代码作者归属精度产生了极大程度的影响。因此,对融合不同类型特征和平衡数据集的代码作者归属研究十分必要。另外,搜集到的恶意代码中不用类型的数据很多情况下是不平衡的,所以提取少数类样本中的特征也变得尤为重要。针对缺少整个程序编码水平衡量的问题,从特征选择方向开始研究。首先,采用主成分分析法对一名作者的源代码耦合度特征提取并量化。其次,再提取具有控制流和数据流特征的PDG特征向量,然后将权值分析后的PDG特征与耦合度进行融合,形成具有更加明显风格的特征向量,最后采用提出的耦合程序神经网络(Coupling Program Neural Network,CPNN)模型进行训练和测试。实验结果表明,经过融合后的特征,更能代表程序员的风格,而改进的代码词向量网络模型性能同样优于其他深度学习模型,该方法在1000名作者的不同类型源代码数据集中,准确率达到了较高的95%。针对C++、Java、C#三种数据特征不平衡的问题,提出一种综合少数过采样算法和循环神经网络混合的模型(Synthetic Minority Over-sampling Technique Recurrent Neural Network,SMOTE-RNN)对不平衡的源代码数据集进行判别。首先,提取带有频率逆文档频率(Term Frequency-Inverse Document Frequency,TFIDF)权值的N-gram特征;然后,基于与原次要类样本的相似性,合成新的少数类样本,使得三种类型的特征数量趋于平衡;最后使用循环神经网络对输入的样本进行微调和优化,得到预测的结果。采用SMOTE算法进行数据处理后的模型训练精度要大大优于未采用数据平衡的精度,并且很快达到了最优。该方法在1000名程序员的不平衡的数据集中,模型的准确率达到了较高的90%。
温晋杰[5](2020)在《空天运输遥操作系统净评估与可信度认定研究》文中研究说明为了统筹经济建设与国防建设协同发展,我国提出了“军民融合”国家战略,其核心是促进军民两个领域双向技术交流。空天运输是军民融合发展的重点领域和先导行业,在空天运输嫦娥系列任务中,一个关键组成部分是地面控制中心通过空天运输遥操作系统推送操控信息实现月面巡视器无人自动巡视和科学就位探测。但是,针对我国空天运输领域信息技术国产、自主和可控的发展需求,我国还没有相当的空天运输遥操作系统设计、实施、测试和维护等方面的质量评估方法、技术、体系和标准,在技术层面还缺乏军民融合准入/准出评估机制。围绕上述研究背景和研究问题,本文应用净评估理论,提出了空天运输遥操作系统系统净评估方法,定量认定了探月工程嫦娥系列任务遥操作系统的可信度,建立了空天运输遥操作系统净评估体系,意图保障嫦娥五号任务万无一失,为空天运输领域军民融合战略落地提供技术保障。本文的主要研究工作和创新点如下:(1)首次将净评估理论引入空天运输领域,提出了利用形式化方法建立空天运输遥操作系统净评估指标体系数学模型,借助自主可控的自动化工具采集系统可信证据,从而实现遥操作系统可信度认定的净评估方法。在嫦娥五号任务联调联试过程中,通过净评估方法准确定位了遥操作系统全生命周期的不可信因素,解决了系统质量不可控的问题,实现了遥操作系统联调联试零差错。(2)以遥操作系统相关的软件过程文档、国家军用标准和空天运输领域特性作为净评估指标来源,利用形式化Z语言构建了遥操作系统净评估指标体系数学模型,保障了评估指标的准确性和全面性,解决了嫦娥四号和嫦娥五号任务遥操作系统净评估指标二义性和需求动态变化的问题,为遥操作系统可信证据自动化采集打下基础。(3)以遥操作系统净评估指标体系数学模型为输入,搭建了国产自主可控的空天运输遥操作系统可信证据自动采集平台。在嫦娥四号任务执行前,该平台自动采集了科学客观的嫦娥四号遥操作系统可信证据,确保了嫦娥四号遥操作任务圆满完成。(4)利用偏差最小化方法提出了层次分析法和熵权法结合的组合赋权法。针对数学理论赋权方法的不实际性问题,在航天信息资源国产化的前提下,借助可视化技术实现了近十年来国家载人航天和探月工程历次航天任务数据的长期保存,完成了净评估前期知识积累。同时,构建了遥操作系统净评估虚拟仿真环境,通过回放和论证净评估过程,实现了工程实践数据持续优化数学理论赋权模型的研究方案,提高了净评估指标赋权的可靠性和可信性。(5)针对空天运输领域信息技术自主可控的核心需求,在Windows和国产麒麟操作系统上完成了探月工程嫦娥系列任务遥操作系统的设计、开发、测试、维护和评估,实现了跨平台且具有自主知识产权的航天任务信息推送平台,为嫦娥系列任务执行提供了安全保障。上述研究成果经探月工程二期实战检验,实现了遥操作系统可信度认定,精准实施并圆满完成了嫦娥三号和嫦娥四号任务,并通过了GJB 9001C-2017武器装备质量管理体系认证,为探月工程后续任务和火星探测任务信息系统的开发、质量评估和改进提供了技术框架。
白硕栋[6](2020)在《基于表示学习的漏洞源代码语义理解研究》文中进行了进一步梳理随着软件技术的不断发展,软件安全逐渐成为全社会广泛关注的热点问题。据NIST统计显示,软件安全问题造成的严重事件中90%都是由软件安全漏洞引起的。目前国内外在软件安全漏洞检测技术领域的研究主要集中在源代码方向。代码是面向人类的语言,机器往往难以理解,漏洞源代码本身就具有高度的抽象性和复杂性,其大部分性质是很难用简明的机器语言来定义的。良好的代码语义理解能力通常有利于提高机器学习模型的检测精度,而由于语义理解能力的不足往往会导致检测精度较低,这正是安全漏洞检测研究如今面临着的主要问题之一。因此以代码语义理解为中心展开深入研究成为了安全漏洞检测技术发展的迫切需要。本文基于表示学习方法展开漏洞语义理解技术的研究,目的是希望能为基于语义的大规模漏洞模式挖掘与漏洞检测提供可靠性支撑,提高软件安全漏洞分析检测的精度,降低漏报率和误报率。本文的研究工作主要有三点:(1)漏洞语义标注。本文针对漏洞检测技术研究领域存在的标注数据集匮乏问题,结合现有的代码标注技术与本文的具体研究情况,设计了语义标注方案并提出了三种具体的语义标注方法。文中详细介绍了标注的方法、过程和标注样例结果。最终通过分析比较选取了其中具有结构化体系、标注信息较丰富和更切合本次研究的一种标注方法进行漏洞源代码的语义标注工作。(2)深度抽象语法树表示。本文针对普通抽象语法树只能获取代码语义浅层特征的问题,结合漏洞语义标注提出了深度抽象语法树表示。抽象语法树被广泛应用于代码的分析与处理,它能够获取代码分析所需的静态结构信息、数据流信息和控制流信息。本文基于抽象语法树的特点,通过深度遍历、数字映射、填充和词嵌入等方法从普通抽象语法树中提取更深层次的特征,并详细介绍了结合漏洞语义标注共同构建漏洞语义向量样本的方法与过程。(3)基于表示学习的漏洞检测。本文根据研究内容提出结合表示学习与模式匹配思想的漏洞检测方案。主要介绍了方案的总体思想、算法与神经网络的设计与实现。首先将带有标记的样本作为神经网络的输入进行预训练得到漏洞特征,该神经网络运用了以递归神经网络为基础,善于捕获代码之间更长的依赖关系的Bi-LSTM网络。由于上下文信息对于漏洞语义至关重要,而Bi-LSTM可以帮助检测代码向前和向后的长期依赖关系,从而可以有效地捕获漏洞的特征表示;然后将无标记的样本提供给训练好的网络以学习特征表示的子集;接着在有标记的样本上执行分类器算法生成分类模型,在无标记的样本上执行该模型完成一阶段的漏洞分类预测;最后在一阶段的预测结果基础上进行模式匹配处理,得到二阶段的预测结果,完成漏洞检测。实验结果表明,与传统的代码度量方法相比,本文提出的语义标注和深度抽象语法树表示相结合的方法在漏洞检测精度方面具有更优秀的表现,充分说明了该方法能够更好地表示出漏洞源代码的特征,由此验证了该方法能够提高计算机对漏洞源代码的语义理解能力。论文最后对所研究的内容进行了总结,提出了后续研究的改进方向。
张小国[7](2018)在《C++面向对象技术教学方法与教学实践探讨》文中提出本文针对C++语言面向对象技术教学过程中学生反映"难理解、难应用"的问题,指出了学生对抽象、封装、继承、多态等重要概念容易出现的典型误解,对上述概念进行了澄清和解释,并对教学过程提出了针对性的教学建议,历时六年的教学实践表明上述教学方法效果显着。
田雪[8](2018)在《C程序静态分析中并发性漏洞检测技术的研究》文中研究说明现在互联网事业蓬勃发展,软件开发人员会想各种方法来提高程序执行的效率,随着多核处理器和并行分布式系统在软件开发中被广泛使用,并发编程受到越来越多开发人员的亲睐。虽然并发程序在多核系统中有着广泛的应用,但是操作过程中执行路径的不确定性会引入新的问题,即并发漏洞。C语言是应用最为广泛的编程语言,但是由于性能的原因,它并没有做多线程检查,程序执行过程中会调用多个线程,这多个线程共享系统内存,在同一时间段内,多个线程争夺共享资源,并进行不同的操作,就会妨碍其它线程的操作结果,造成线程的不安全性。因此,针对C程序制定并发漏洞的检测方案具有重要意义。本文围绕并发漏洞的静态分析检测技术展开研究。从并发程序出发,根据其特点分析研究并发漏洞的特点,实现C程序中并发漏洞的检测方案主要进行了以下工作:(1)分析了并发程序的特点,从而总结出并发漏洞的特点,然后针对并发漏洞检测技术现状,提出了存在的技术挑战(2)从软件程序源代码层面,分析了“脏牛”漏洞产生的原因。通过分析发现,“脏牛”漏洞是由于Linux内存子系统在处理写时拷贝时出现了竞争条件导致私有的只读内存映射被破坏。竞争条件是因为引入了一个线程调度函数引起的,多个线程执行的不确定性,引发了线程的不安全。(3)根据“脏牛”漏洞产生的原因,进一步分析了并发程序中的多线程现象,总结出并发漏洞总是发生在多线程执行的情况下,并发漏洞的检测应该定位到软件代码的线程函数。(4)构造了竞争条件和死锁漏洞的测试用例,基于污点分析技术,通过原语模型标记的方式制定了静态分析检测方案,并对检测方案进行了实验验证。
白鹤[9](2015)在《基于Perl语言的软件国际化的研究与应用》文中认为随着全球信息化水平不断提高,国际交流越来越频繁,各个国家都迫切希望扩大本国软件的市场和发展前景,做到真正与国际接轨。其中,软件国际化已成为软件开发中一项非常重要的任务。如何将代码修改量降为最小,减少重复劳动,提高软件的开发效率,是研究软件国际化的关键问题。本文主要对软件国际化的开发和测试进行研究,主要研究工作如下:(1)对软件国际化和本地化的一些特征和技术进行分析,通过对各种字符集及其编码标准进行比较,选择适合国际化的编码格式,并对本地化的语言环境进行设置。(2)提出一种基于Perl语言的软件国际化的方案,标记并提取源代码中的语言信息,分离本地化资源与代码。为了避免翻译时的重复劳动,使用Perl语言对国际化过程中的信息提取进行优化,查找重复字符串并替换,提高软件本地化的效率。(3)研究世界上语言的不同书写形式,总结出软件界面风格的差异。针对不同界面风格类型的语言,使用镜像技术更改相应用户界面布局,并将结果在不同软件上进行测试,实现软件界面的国际化。(4)从国际化测试的目标和内容上进行研究。针对国际化过程中的错误和缺陷提出相应的测试方案,对国际化软件进行系统的测试,消除软件本地化时出现的界面紊乱以及语言错误等问题,保证软件的国际化支持能力。本文对软件国际化的方法及应用进行研究,提出的基于Perl语言的软件国际化方案具有本地化效率高、覆盖使用范围广等优点,对软件实现多语言的支持有一定的借鉴意义。
李英第[10](2014)在《C语言代码分析与函数时间复杂度计算的研究》文中研究说明现有的C语言编译或代码分析软件大多集中于检测C程序代码编码过程的正确性和结构的准确性,而对于其代码所包含信息,譬如关键量信息、时间效率高低等的工具化判定还尚未普及。针对这种情况,本文从静态分析过程入手,通过对ANSI C标准下C语言程序代码词法及语法形式的分析,完成了XML树状存储结构下对于C语言程序内部信息解析、存储的过程并且设计了函数时间复杂度自动计算的算法模型并加以实现和验证。实验结果表明,C程序代码内部的关键量信息可以通过相应底层解析得到很好地提取和总结归纳,同时C语言程序运行时间效率的高低很大程度上取决于程序内部函数的时间复杂度的复杂程度。程序中函数整体时间复杂度越高,运行时间效率越低。相比于传统意义上的C代码分析方法,基于树状存储结构的C语言代码分析的研究着眼于现有成型C程序内部包含信息的分析和统计,其中时间复杂度自动计算方法更侧重于对C代码的时间复杂度进行自动化分析和计算,从而可以更快速、准确地对C程序代码时间效率进行判定。本文的研究成果的期望是在一定程度上使C程序开发者和学习者可以更简洁、更方便、更直观化地进行C语言程序的分析工作,可以在未知C程序运行之前就可对其进行分析和计算,从而进行前期修正,降低后期错误代价,大大减轻开发者和学习者阅读代码的工作量,降低学习成本,以便更好地进行其他更具实践意义的工作。
二、C++/C程序源代码书写风格的探讨(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、C++/C程序源代码书写风格的探讨(论文提纲范文)
(1)疫情防控常态化下程序设计语言课外教学探索(论文提纲范文)
0 引言 |
1 疫情给程序设计语言带来的挑战与机遇 |
2 疫情新常态下的课外教学目标及意义 |
3 疫情新常态下的课外教学内容改良 |
4 疫情新常态下C/C++程序设计语言课外教学方法改革 |
5 结语 |
(2)代码搜索方法研究进展(论文提纲范文)
0 引言 |
1 文献统计及相关概念 |
1.1 文献统计 |
1.2 代码搜索概念和一般框架 |
1.3 评价指标 |
2 代码搜索方法 |
2.1 基于信息检索的方法 |
2.2 基于查询和代码描述增强的方法 |
2.2.1 基于代码描述增强的方法 |
2.2.2 基于查询扩展的方法 |
2.2.3 小结 |
2.3 基于程序特征分类的方法 |
2.3.1 基于语义特征的方法 |
2.3.2 基于语法特征的方法 |
2.3.3 小结 |
2.4 基于深度学习的方法 |
2.4.1 基于序列嵌入的方法 |
2.4.2 基于图嵌入的方法 |
2.4.3 小结 |
3 相关应用领域 |
3.1 程序合成 |
3.2 代码推荐与补全 |
3.3 代码风格改善 |
4 问题与挑战 |
5 结束语 |
(3)基于深度学习的代码克隆检测技术的研究与实现(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 研究背景及意义 |
1.2 研究现状 |
1.3 本文研究内容 |
1.4 论文的组织结构 |
第二章 代码克隆检测的研究综述 |
2.1 代码克隆种类 |
2.2 代码克隆的粒度 |
2.3 传统的代码克隆检测技术 |
2.3.1 基于文本的代码克隆检测技术 |
2.3.2 基于Token的代码克隆检测技术 |
2.3.3 基于抽象语法树的代码克隆检测技术 |
2.3.4 基于图的代码克隆检测技术 |
2.4 基于深度学习的代码克隆检测技术 |
2.4.1 基于度量的代码克隆检测技术 |
2.4.2 基于Token的代码克隆检测技术 |
2.4.3 基于抽象语法树的代码克隆检测技术 |
2.4.4 基于图表示的代码克隆技术 |
2.4.5 基于混合表示的代码克隆技术 |
2.5 代码克隆检测流程 |
2.5.1 源代码归一化 |
2.5.2 抽象语法树剪枝 |
2.5.3 训练词嵌入 |
2.5.4 代码向量化 |
2.5.5 克隆检测 |
2.6 模型评估指标 |
2.7 现有代码克隆检测方法的问题 |
2.8 本章小结 |
第三章 基于AST路径的代码克隆检测算法的设计与实现 |
3.1 研究动机 |
3.2 基本概念 |
3.3 模型设计 |
3.3.1 AST路径编码器 |
3.3.2 比较聚合模型 |
3.3.3 孪生网络 |
3.4 评估 |
3.4.1 实验设置 |
3.4.2 数据集 |
3.4.3 基线模型 |
3.4.4 确定AST路径提取相关的超参数 |
3.4.5 实验及结果分析 |
3.5 本章小结 |
第四章 基于路径和树的克隆检测算法的设计与实现 |
4.1 基本概念 |
4.2 和类似模型ASTNN的比较 |
4.3 模型设计 |
4.3.1 构建程序的表示SC-AST |
4.3.2 图神经网络 |
4.3.3 自注意力机制 |
4.4 评估 |
4.4.1 实验环境设置 |
4.4.2 数据集 |
4.5 基线模型和评估指标 |
4.6 结果 |
4.6.1 检测代码克隆的有效性 |
4.6.2 模型变体 |
4.6.3 时间性能 |
4.7 和基于路径的code2seq 比较 |
4.7.1 分类任务 |
4.7.2 方法命名 |
4.8 本章小结 |
第五章 总结 |
5.1 本文工作 |
5.2 本文创新 |
5.3 进一步工作 |
参考文献 |
致谢 |
攻读学位期间发表的学术论文目录 |
(4)面向源代码的作者归属判别方法研究(论文提纲范文)
摘要 |
ABSTRACT |
第1章 绪论 |
1.1 课题背景及意义 |
1.2 研究现状 |
1.2.1 源代码作者归属研究现状 |
1.2.2 SMOTE过采样研究现状 |
1.2.3 存在问题 |
1.3 主要任务与内容 |
1.3.1 技术路线 |
1.3.2 本文研究 |
1.4 论文结构安排 |
第2章 相关技术原理 |
2.1 常见特征提取技术 |
2.1.1 基于文本词汇的特征提取技术 |
2.1.2 基于抽象语法树的特征提取技术 |
2.1.3 基于图的特征提取技术 |
2.1.4 基于混合的特征提取技术 |
2.1.5 几种特征提取方法优缺点比较 |
2.2 常见归因模型 |
2.2.1 概要模型 |
2.2.2 实例模型 |
2.2.3 归因模型的选择 |
2.3 深度神经网络模型 |
2.3.1 卷积神经网络模型 |
2.3.2 循环神经网络模型 |
2.3.3 代码词向量网络模型 |
2.4 本章小结 |
第3章 基于耦合度和PDG混合特征的源代码作者归属 |
3.1 源代码作者归属判别框架 |
3.2 耦合度特征提取 |
3.3 PDG特征提取 |
3.4 TFIDF权重分析 |
3.5 CPNN模型设计 |
3.6 实验结果与分析 |
3.6.1 实验数据集 |
3.6.2 评价指标 |
3.6.3 特征选择分析 |
3.6.4 CPNN模型性能分析 |
3.6.5 结果比较 |
3.7 本章小结 |
第4章 基于SMOTE-RNN算法的源代码作者归属方法 |
4.1 SMOTE算法研究意义 |
4.2 基于SMOTE-RNN算法的源代码作者识别框架 |
4.3 N-gram特征分析 |
4.3.1 特征提取 |
4.3.2 权值分析 |
4.4 SMOTE-RNN算法设计 |
4.5 SMOTE-RNN网络模型 |
4.5.1 模型设计 |
4.5.2 模型训练 |
4.6 实验结果 |
4.6.1 数据集 |
4.6.2 SMOTE-RNN算法对比 |
4.6.3 SMOTE-RNN模型比较 |
4.6.4 结果比较 |
4.7 本章小结 |
第5章 结论与展望 |
5.1 结论 |
5.2 展望 |
参考文献 |
攻读学位期间取得的研究成果 |
致谢 |
(5)空天运输遥操作系统净评估与可信度认定研究(论文提纲范文)
摘要 |
abstract |
第一章 绪论 |
1.1 课题背景及研究目的和意义 |
1.1.1 课题研究背景 |
1.1.2 课题研究目的和意义 |
1.2 空天运输遥操作系统发展现状 |
1.3 航天信息系统故障导致的灾难 |
1.4 信息系统质量评估国内外研究现状 |
1.4.1 国外研究现状 |
1.4.2 国内研究现状 |
1.5 论文研究内容与结构安排 |
1.5.1 研究内容 |
1.5.2 结构安排 |
第二章 遥操作系统净评估理论基础 |
2.1 信息系统可信性定义 |
2.1.1 面向用户主体的定义 |
2.1.2 面向系统客体的定义 |
2.2 信息系统质量模型 |
2.2.1 面向过程的系统质量模型 |
2.2.2 面向产品的系统质量模型 |
2.3 信息系统相关的标准 |
2.3.1 国际通用标准 |
2.3.2 国家军用标准 |
2.4 净评估理论 |
2.4.1 净评估的内涵及特性 |
2.4.2 净评估研究现状 |
2.5 探月工程嫦娥系列任务遥操作系统介绍 |
2.5.1 业务流程介绍 |
2.5.2 质量控制措施 |
2.6 遥操作系统净评估要素 |
2.6.1 战略自动化 |
2.6.2 文本数据挖掘 |
2.6.3 形式化方法 |
2.6.4 软件测试 |
2.7 本章小结 |
第三章 遥操作系统净评估指标体系构建及其形式化规约 |
3.1 形式化方法—Z语言 |
3.2 遥操作系统净评估指标体系结构的形式化规约 |
3.3 遥操作系统净评估指标内容及其形式化规约 |
3.3.1 软件过程文档 |
3.3.2 国家军用软件标准 |
3.3.3 空天运输遥操作系统领域特性 |
3.4 本章小结 |
第四章 遥操作系统可信证据采集平台 |
4.1 动态可信证据采集 |
4.1.1 功能类可信证据采集 |
4.1.2 性能类可信证据采集 |
4.2 静态可信证据采集 |
4.2.1 源代码类可信证据采集 |
4.2.2 文档类可信证据采集 |
4.2.3 环境类可信证据采集 |
4.3 本章小结 |
第五章 净评估指标权重计算 |
5.1 指标赋权法 |
5.1.1 单一赋权法 |
5.1.2 单一赋权法的组合方法 |
5.2 遥操作系统净评估指标赋权方法 |
5.2.1 AHP和 EWM的组合优化 |
5.2.2 不同赋权方法对比指标 |
5.3 构建对比判断矩阵的工程方法 |
5.3.1 航天信息资源国产化 |
5.3.2 航天系列任务信息传承与长期保存 |
5.3.3 知识本体构建评估知识库 |
5.3.4 空天运输遥操作系统净评估虚拟仿真环境 |
5.4 遥操作系统净评估指标赋权 |
5.4.1 权重计算 |
5.4.2 结果分析 |
5.5 本章小结 |
第六章 遥操作系统净评估 |
6.1 空天运输遥操作系统的设计和实现 |
6.1.1 开发环境搭建 |
6.1.2 跨平台系统设计 |
6.2 嫦娥四号遥操作系统实际工程应用 |
6.3 嫦娥五号遥操作系统净评估 |
6.4 本章小结 |
第七章 结论和展望 |
7.1 研究总结 |
7.2 研究展望 |
参考文献 |
致谢 |
个人简历、在学期间的研究成果及发表的学术论文 |
附录 A Z语言词汇表 |
附录 B 探月工程嫦娥系列任务 |
附录 C 开源的证据采集工具 |
附录 D 常见的指标赋权方法 |
(6)基于表示学习的漏洞源代码语义理解研究(论文提纲范文)
摘要 |
abstract |
1 绪论 |
1.1 课题研究的背景及意义 |
1.2 国内外研究现状 |
1.3 本文研究的主要内容 |
1.4 论文章节安排 |
2 相关理论与技术 |
2.1 程序分析 |
2.1.1 词法与语法分析 |
2.1.2 结构与类型分析 |
2.1.3 流分析 |
2.1.4 抽象语法树分析 |
2.2 语义标注 |
2.2.1 语义标注方法简介 |
2.2.2 语义标注方法特点 |
2.2.3 语义标注粒度 |
2.3 表示学习方法 |
2.3.1 表示学习方法简介 |
2.3.2 表示学习方法特点 |
2.3.3 表示学习方法应用 |
2.4 本章小结 |
3 漏洞源代码语义标注 |
3.1 语义标注总体方案 |
3.1.1 语义标注的目的与意义 |
3.1.2 总体方案设计 |
3.2 源代码预处理 |
3.3 语义标注方法 |
3.3.1 标注方法Ⅰ |
3.3.2 标注方法Ⅱ |
3.3.3 标注方法Ⅲ |
3.4 语义标注方法选择及结果展示 |
3.5 本章小结 |
4 基于抽象语法树的代码深度表示 |
4.1 构建抽象语法树 |
4.2 漏洞语义向量表示 |
4.2.1 语义向量表示总体方案 |
4.2.2 代码语义向量表示 |
4.2.3 漏洞标注向量表示 |
4.3 深度AST表示 |
4.3.1 数字映射与填充 |
4.3.2 词嵌入获取代码深层表示 |
4.4 本章小结 |
5 基于表示学习的漏洞检测 |
5.1 漏洞检测总体方案 |
5.2 算法设计 |
5.2.1 算法基本思想 |
5.2.2 算法分析 |
5.3 神经网络模型设计 |
5.3.1 网络选择 |
5.3.2 网络架构设计 |
5.4 本章小结 |
6 基于深度学习的漏洞语义理解仿真实验 |
6.1 实验环境搭建 |
6.1.1 数据集 |
6.1.2 环境与参数 |
6.1.3 实验算法评估 |
6.2 实验分析与总结 |
6.2.1 实验分析 |
6.2.2 实验结论 |
6.3 本章小结 |
7 结论 |
7.1 结论 |
7.2 展望 |
参考文献 |
致谢 |
(7)C++面向对象技术教学方法与教学实践探讨(论文提纲范文)
0 引言 |
1 面向对象思想与C++语言 |
2 面向对象思想定义 |
2.1 抽象 |
2.2 封装 |
2.3 继承与派生 |
2.4 多态 |
3 面向对象教学的注意点 |
3.1 避免包罗万象的抽象 |
3.2 保留万不得已的暴露 |
3.3 坚持“白马是马”的派生 |
4 面向对象思想之C++教学实践 |
4.1 理清概念, 用直白浅显的语言传递面向对象思想 |
4.2 规范编程, 从实践上强化行为为中心的准则引导习惯 |
4.3 模仿对比, 对STL从模仿到熟练应用实现融会贯通 |
4.4 项目驱动, 理论和实践结合培养卓越工程师思维 |
5 结语 |
(8)C程序静态分析中并发性漏洞检测技术的研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1研究背景及意义 |
1.2 国内外研究现状 |
1.2.1 静态分析技术 |
1.2.2 并发程序分析 |
1.3 论文主要研究内容及组织架构 |
参考文献 |
第二章 相关理论及技术基础 |
2.1 软件检测概述 |
2.1.1 软件检测技术的发展 |
2.1.2 软件检测技术分类 |
2.1.3 动态分析检测技术与静态分析检测技术的对比分析 |
2.2 静态分析技术研究 |
2.2.1 基本分析 |
2.2.2 基于形式化方法的分析 |
2.2.3 指向分析 |
2.2.4 其它辅助分析 |
2.3 数据流分析技术 |
2.3.1 数据流分析工作流程 |
2.4 静态代码检测工具 |
2.5 静态分析检测工具对比分析 |
2.5.1 静态分析工具的评价指标 |
2.5.2 C程序静态分析检测工具对比分析 |
2.6 本章小结 |
参考文献 |
第三章 并发漏洞分析 |
3.1 并发性漏洞原理及产生的影响 |
3.1.1 并发漏洞的特点 |
3.1.2 并发漏洞的分类 |
3.2 “DirtyCOW”漏洞分析 |
3.2.1 “DirtyCOW”漏洞及其影响介绍 |
3.2.2 “DirtyCOW”漏洞原理分析 |
3.3 本章小结 |
参考文献 |
第四章 并发漏洞检测规则定制 |
4.1 污点分析标记 |
4.1.1 污点分析定义 |
4.1.2 污点传播基本思想 |
4.2 并发性相关原语与检测器 |
4.2.1 并发性原语 |
4.2.2 并发性检测器 |
4.3 检测规则定制及实验验证 |
4.3.1 竞争条件漏洞 |
4.3.2 死锁 |
4.3.3 exclusive和recursive的区别 |
4.4 检测方案效果分析总结 |
4.5 本章小结 |
第五章 总结与展望 |
5.1 论文总结 |
5.2 工作展望 |
致谢 |
(9)基于Perl语言的软件国际化的研究与应用(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 课题研究背景和意义 |
1.2 国内外发展现状与趋势 |
1.2.1 国外研究现状 |
1.2.2 国内研究现状 |
1.3 论文的主要研究工作 |
1.3.1 研究目标 |
1.3.2 问题描述 |
1.3.3 论文创新点 |
1.3.4 课题来源 |
1.4 论文组织结构 |
第二章 国际化软件 |
2.1 国际化软件概述 |
2.1.1 国际化软件的“四化” |
2.1.2 国际化软件“四化”之间的关系 |
2.2 软件国际化 |
2.2.1 认识软件国际化 |
2.2.2 软件国际化的特征 |
2.2.3 软件国际化的设计准则 |
2.3 国际化相关技术 |
2.3.1 字符集及其编码标准 |
2.3.2 Locale |
2.4 软件本地化 |
2.4.1 认识软件本地化 |
2.4.2 软件本地化方案 |
2.5 本章小结 |
第三章 基于Perl的软件国际化方案 |
3.1 国际化方案现状 |
3.1.1 GNU gettext |
3.1.2 ICU |
3.1.3 使用本地化工具 |
3.2 国际化流程 |
3.3 方案设计与实现 |
3.3.1 信息标记 |
3.3.2 信息提取 |
3.3.3 文件合并 |
3.3.4 文件转化 |
3.4 Perl简化翻译 |
3.5 本章小结 |
第四章 用户界面的设计与实现 |
4.1 用户界面 |
4.1.1 界面风格类型 |
4.1.2 界面差异 |
4.2 用户界面的实现 |
4.2.1 窗.镜像 |
4.2.2 对话框资源镜像 |
4.2.3 设备环境镜像 |
4.2.4 垂直镜像翻转 |
4.3 实验结果 |
4.4 本章小结 |
第五章 国际化软件测试 |
5.1 国际化软件测试目标 |
5.2 国际化软件测试内容 |
5.2.1 国际化能力测试 |
5.2.2 本地化能力测试 |
5.2.3 本地化测试 |
5.3 测试方案 |
5.3.1 创建测试环境 |
5.3.2 测试过程分析 |
5.3.3 测试结果 |
5.4 本章小结 |
第六章 总结与展望 |
6.1 论文总结 |
6.2 研究展望 |
参考文献 |
致谢 |
个人简历、在学期间的研究成果及发表的学术论文 |
(10)C语言代码分析与函数时间复杂度计算的研究(论文提纲范文)
摘要 |
ABSTRACT |
第一章 绪论 |
1.1 自动化代码分析的发展概况 |
1.2 C代码静态分析的国内外研究现状 |
1.3 C代码分析研究的意义和应用前景 |
1.4 本文的研究内容及结构安排 |
第二章 相关理论及技术介绍 |
2.1 词法分析与Lex简介 |
2.2 语法分析与Yacc简介 |
2.3 Windows平台下的Parser Generator |
2.4 XML树状结构存储方式简述 |
2.5 TinyXML简介 |
2.6 JNI简介 |
2.7 本章小结 |
第三章 相关功能及算法的分析与设计 |
3.1 C程序代码的结构 |
3.2 代码解析的分析设计 |
3.2.1 代码的词法分析 |
3.2.2 代码的语法分析 |
3.3 信息存储的分析设计 |
3.4 时间复杂度计算算法的分析设计 |
3.5 显示功能的分析设计 |
3.6 整体结构的整合 |
3.7 本章小结 |
第四章C代码分析平台的实现 |
4.1 代码分析功能的实现 |
4.1.1 C代码分析综述 |
4.1.2 Lex&Yacc文件的编写 |
4.1.3 Lex&Yacc整合 |
4.2 XML文件信息存储的实现 |
4.3 时间复杂度自动化计算的实现 |
4.3.1 符号说明 |
4.3.2 算法实现 |
4.3.3 算法补充说明 |
4.4 前台可视化显示的实现 |
4.5 本章小结 |
第五章 实验验证及数据分析 |
5.1 实验设计原理 |
5.2 复杂度计算算法准确性实验 |
5.3 算法应用实验 |
5.4 信息提取统计实验 |
5.5 本章小结 |
第六章 总结与展望 |
6.1 总结 |
6.2 展望 |
参考文献 |
发表论文和参加科研情况说明 |
致谢 |
四、C++/C程序源代码书写风格的探讨(论文参考文献)
- [1]疫情防控常态化下程序设计语言课外教学探索[J]. 何亮,赵楷,孙甲松,黄永峰. 计算机教育, 2022(01)
- [2]代码搜索方法研究进展[J]. 魏敏,张丽萍. 计算机应用研究, 2021(11)
- [3]基于深度学习的代码克隆检测技术的研究与实现[D]. 艾禄. 北京邮电大学, 2021(01)
- [4]面向源代码的作者归属判别方法研究[D]. 陈杰. 太原理工大学, 2021(01)
- [5]空天运输遥操作系统净评估与可信度认定研究[D]. 温晋杰. 石家庄铁道大学, 2020(04)
- [6]基于表示学习的漏洞源代码语义理解研究[D]. 白硕栋. 西安工业大学, 2020(04)
- [7]C++面向对象技术教学方法与教学实践探讨[J]. 张小国. 电气电子教学学报, 2018(02)
- [8]C程序静态分析中并发性漏洞检测技术的研究[D]. 田雪. 北京邮电大学, 2018(11)
- [9]基于Perl语言的软件国际化的研究与应用[D]. 白鹤. 石家庄铁道大学, 2015(04)
- [10]C语言代码分析与函数时间复杂度计算的研究[D]. 李英第. 天津大学, 2014(03)