一、使用WinCvs对代码进行版本控制(论文文献综述)
刘涛,伍少成,马越,赵杰,姜和芳[1](2021)在《电能计量系统智能安全测试平台》文中研究说明随着电能现货网上交易的快速发展,计量系统新业务功能不断投运,为了避免系统版本更新升级后出现源代码质量问题,导致网上业务中断所带来的经济损失和社会影响,设计一个电能计量系统智能安全测试平台,依据此平台,系统运维人员只需动动手指,获取由软件开发团队上传的源代码,执行可运行指令,就可自动完成代码的安全漏洞扫描测试和生成可视化代码安全等级分析报告,从而实现对计量系统版本更新升级前的代码安全漏洞测试和质量控制.
陈翔,杨光,崔展齐,孟国柱,王赞[2](2021)在《代码注释自动生成方法综述》文中研究表明在软件的开发和维护过程中,与代码对应的注释经常存在缺失、不足或者与代码实际内容不匹配等问题,但手工编写代码注释对开发人员来说费时费力,且注释质量难以保证,因此亟需研究人员提出有效的代码注释自动生成方法.代码注释自动生成问题是当前程序理解研究领域的一个研究热点,对该问题进行了系统综述.主要将已有的自动生成方法细分为3类:基于模板的方法、基于信息检索的方法和基于深度学习的方法.依次对每一类方法的已有研究成果进行了系统的梳理、总结和点评.随后分析了已有的实证研究中经常使用的语料库和主要的注释质量评估方法,以利于针对该问题的后续研究可以进行合理的实验设计.最后进行总结,并对未来值得关注的研究方向进行了展望.
公鑫[3](2021)在《一种Hunk内的行差异分析方法及展示》文中研究指明在软件的开发和维护过程中,每天会有大量的代码变更被提交到版本管理平台中,而阅读和理解代码的变更是软件开发过程的必要工作,人工的对于变更代码差异的识别也越来越困难。当今软件功能的需求越来越多样化,软件的体系结构也随之增大,如果能够对代码的变更进行自动差异比较分析,则能够将代码变更的差异从源代码中分离,有助于对代码变更的阅读和理解,同时有助于开发人员研究代码变更中相关问题,有利于理解软件演化的过程。当前人工理解代码变更主要在文本差异化分析(textual code differencing)工具提供的Hunk集上进行,而有些工具还对每个Hunk进行二次差异化分析,并将结果展现在并排(side-by-side)的视图中,从而方便用户查看Hunk内部的变更。然而现有的二次差异化分析工具得到的结果普遍存在语句失配问题,即Hunk内部删除行与添加行之间的不恰当匹配以及配对的语句内部Token的拆分问题,影响理解事实的变更。首先,对代码差异失配问题的分布进行了调查研究,事实证明了该问题在二次差异化分析中的普遍性;然后,对该失配问题产生的原因进行了分析,并提出了一种对其改进的算法;最后,在设计的基于Eclipse插件的展示工具中将结果进行差异展示,并对该算法工具在开源项目上进行了实验验证。该算法基于轻语法分析,首先对版本源文件进行粗粒度上的文本差异化算法的分析,得到版本源文件的变更Hunk集,然后将集合的每一个Hunk中的文本行映射为语句行,并将语句行识别为基于单词(Token)的序列,其次对所有的删除语句和添加语句进行相似性匹配,对于匹配的语句应用最长公共子序列算法获取其内部的差异单词(Token)。在语句间相似性匹配和语句内差异化分析时均是以一个单词(Token)为最小比较单位。算法当前采用Java语言实现,并在一个自制的eclipse展示插件中对其结果予以展示。通过在五个开源项目上的实验,证明了该算法可以有效克服Hunk内语句行之间的失配以及Token的拆分问题。差异分析结果表明,该算法的整体的差异分析的准确率在83%~87%之间,其中对于Kdiff3工具分析存在问题的数据的准确率在70%~78%之间,同样对Beyond Compare4的准确率在71%~76%之间。
胡志宝[4](2021)在《基于Jenkins技术实现自动测试系统研究》文中研究表明如今软件技术的发展已经十分迅速,软件产品的功能和结构变得越来越复杂,并且软件的迭代周期也越来越短,可是传统的软件开发模式效率不高,不仅需要频繁的重复操作,而且容易积累较多问题,使得产品的发布时间被延迟,于是就需要一种效率更高更方便的软件开发方式。持续集成作为一种高效的敏捷开发实践,已经被广泛的使用,持续集成通过频繁的获取最新的代码并且进行构建,帮助开发人员及时的发现开发中出现的问题,从而保证开发项目是能够一直正常工作的。Jenkins是比较主流的一款持续集成软件,并且是开源非商业的,拥有大批使用者和开发者,目前Jenkins持续集成技术已经被广泛的应用于互联网软件的开发。Jenkins还能被用于其他行业的专业软件的集成测试,做到开发测试的自动化。本文实现了基于Jenkins持续集成技术通过编写脚本将开发用到的软件集成到Jenkins平台,实现代码的获取、编译与下载运行流程的自动化。主要工作包括在Windows系统上部署Jenkins平台,让Jenkins平台能够正常工作运行;按照实际要求完成对Jenkins的设置,实现不同的人员拥有不同的操作权限,便于项目管理;编写脚本将开发软件集成到平台,实现自动化的完成整个开发流程。基于Spark SQL和Java编程语言进行数据处理算子的开发。从现场部署和运行结果来看,本文的Jenkins持续集成方案能够正常运行并且完成各项任务,节省了开发人员的时间、精力和项目的开发成本,在整体上得到了用户的认可。
黄华俊[5](2021)在《重构测试代码异味对代码质量影响的度量分析》文中研究指明测试异味(Test Smell)是代码异味(Code Smell)在软件测试中的衍生概念,它是软件测试中存在不良设计和不良实现的征兆。良好的软件测试可以提升软件的可靠性,因此测试代码的设计和实现是国际学者研究的热点之一。当前,测试异味的存在对代码质量的影响已经得到广泛研究,但仍旧没有从测试异味重构的视角来研究测试异味对代码质量影响,因此缺乏有效提升代码质量的测试重构操作,导致开发人员无法权衡重构测试异味所带来的利弊。为此,本文通过分析两个代码质量度量指标,即代码的缺陷倾向和变更倾向,来研究重构测试异味对代码质量的影响。本文量化了测试异味被重构前后测试代码及关联生产代码的缺陷倾向和变更倾向数量,进而探究重构测试异味后代码质量的受益程度。在此基础上,本文提出了一种基于SZZ算法和相对风险RR的方法,以评估重构测试异味对代码缺陷倾向的影响,并使用挖掘软件代码仓库技术探究了重构测试异味对代码变更倾向的影响。实验通过挖掘10个开源项目的119个历史版本,针对5种测试代码异味,分别计算重构测试异味操作之后代码质量提升效果。实验结果表明,通过重构测试异味操作对代码质量的提升效果较为明显。测试异味被重构之后,测试代码存在变更倾向的风险较之前减少162%,存在缺陷倾向的风险减少了138%,并且在重构测试异味后生产代码的变更倾向的风险减少了69%,缺陷倾向的风险减少了84%。相较于其他4种测试异味,重构敏感恒等异味对测试代码质量的提升是显着的,重构饿汉测试和神秘客人异味对生产代码质量提升的帮助更大。
谢圣明[6](2021)在《云环境下协同开发平台的设计与实现》文中研究指明随着云计算技术的发展,各式各样的服务上云的需求大大增加。2020年的疫情更是使得需求激增。疫情时代下,用户的需求也发生了改变。传统的软件服务上云已经很难满足人们的需求,人们迫切需要能够在线协同办公。对于开发者来说,传统的开发模式需要多人线下交流沟通,且需要配置较好的电脑来配置各种软件运行环境。如果换一台设备的话,安装运行环境可能需要耗费大量的时间,这给开发者带来了极大的困扰。实现云上的团队协同开发将极大地高开发效率,减少非开发时间。本文以实现一个团队的云上协同开发平台为目标,研究了云计算相关技术和Web相关技术,确保协同开发的基本功能都能基于浏览器实现。从团队协同开发的角度分析了需求,将协同开发平台分为了五个模块:资源管理模块、交流演示模块、工作空间模块、版本控制模块、项目管理模块。实现了资源管理模块,供用户管理以便团队更好的管理用户成员,供虚拟资源管理,以便更好地监控云资源池以及调度资源;研究Web RTC技术,搭建信令服务器,设计并实现了基于Web RTC的交流演示模块,供基于Web的交流沟通工具,包括音视频通话、共享屏幕和在线演示工具;设计并实现了工作空间模块,通过对开源软件的二次开发,供给开发者类似于本地的工作环境,包括管理文件、开发代码以及调试;设计并实现了Git可视化,对Git工具进行封装,在工作空间页面供Git相关操作,供代码版本控制功能;设计并实现了项目管理,仓库的创建者可以对仓库的已发行版本进行下载,同时支持项目的自动化部署。对以上功能模块进行整合,并将前端页面设计为单页面应用以升开发者的开发体验,实现了一个基于浏览器的云上协同开发平台,使团队可以不受限制地进行协同开发。最后对协同开发平台进行了功能测试、性能测试以及可靠性测试。测试结果表明协同开发平台能满足开发者协同开发的基本需求,开发者的开发体验良好。
潘臻[7](2020)在《基于隐马尔可夫模型的代码仓库审查时间预测方法》文中进行了进一步梳理随着开源代码库以及版本控制系统的不断发展,许多分布式版本控制系统出现在大家的视野中,Github凭借其拥有众多的开源项目,成为了最受欢迎的平台,拥有超过900万开发者用户。其功能也在不断的发展,例如issue、持续集成功能。Pull-Request(PR)是Github中开发人员进行代码贡献的主要方法,开发人员通过申请PR,请求将自己的代码合并到项目的主分支中。然而,不可能所有人提交的代码都是完美的,都会存在或多或少的问题。因此,代码审查作为PR中的一项活动显得至关重要。代码审查是让审查人员找出开发人员提交代码中的不足,但代码审查需要由人工来完成,开发人员所提交代码的质量以及审查人员的专业程度都会影响到审查所需要的时间,耗时过长的代码审查会影响到整个项目的开发进展。目前有一些研究人员考虑了PR中的诸多初始属性,例如PR创建时间和内容修改量等,他们将这些初始属性作为其构建预测模型的输入属性,来预测审查的持续时间。然而这些方法仅仅考虑了初始属性,忽略了PR生命周期中发生一系列活动的时间性质。本文中,提出了一种使用隐马尔可夫模型(HMM)和开发人员活动的时间序列的新方法,考虑了开发人员活动的时间顺序,提取出PR中的关键活动组成关键活动序列,使用HMM来对序列进行分类。首先本文获取到一个PR的完整活动历史,然后通过进一步的数据筛选,找到其中的关键活动;另外本文还考虑了部分的初始属性,例如commit数和人员经验程度等,将这些初始属性与关键活动相结合,并按其发生的时间顺序排列,构成关键活动序列。然后我们将活动序列按其持续时间中位数分为两类,并训练了两个HMM;通过比较新序列在两个HMM中出现的概率来推断该PR最终的持续时间。此外,我们还复现了其他研究人员使用的预测方式,提取诸多初始属性,使用梯度提升模型(GB)来预测PR持续时间。最后,本文基于这两种预测方式,在Git Hub上选取了五个开源项目进行实验,其结果表明本文提出的模型预测准确率在70%左右,F-measure也达到75%左右,最高达到了82%;在使用GB模型进行预测实验后,将结果进行比较,HMM的各项指标都要略高一些;结果表明,该方法可以有效的在早期识别并预测待审查PR的持续时间。
杨妍[8](2020)在《制造业数据交互式分析平台的设计与实现》文中指出随着大数据时代的到来,制造业在生产、销售、售后服务过程中积累了大量的数据,企业希望通过挖掘这些数据的价值提高产品品质并解决生产管理中存在的问题,将数据价值转化为实际利润。但制造业企业内不同部门的数据分析任务和采用的技术差异较大,难以实现企业内部数据分析工具的统一管理和协作。针对上述问题,受合作企业委托,本文设计并实现了一个基于B/S架构的制造业数据交互式分析平台。制造业数据交互式分析平台支持多语言混合的交互式解释器(Read-Evaluation-Print-Loop,REPL),可根据用户编写的用于数据分析的代码类别,按照制定的资源调度策略调用远程服务的对应解释器执行代码,让用户可以选择最熟悉或最适合该任务的语言进行数据分析和协作。论文主要工作如下:(1)对已敲定的编程语言的解释器进行调研和分析,为选定的解释器抽象出一组统一的用于解释器生命周期控制的接口并针对不同解释器进行实现。通过本地导入或MVN仓库下载的方式为解释器运行过程中连接指定数据源所需的依赖提供动态加载能力。(2)根据与用户代码编写、运行、结果展示相关的信息设计一种统一的JSON组装格式,将其写入文件并在合适的时机进行服务器文件与分布式文件系统的同步。根据文件内容中的核心部分是代码这一特性,使用JGit对文件的版本进行管理,便于用户进行代码历史版本的回溯。(3)通过控制用户代码执行时启动JVM和创建解释器组的数量为用户提供几种不同的代码运行策略,用户可以在均衡考虑服务器资源占用率、解释器进程的健壮性、用户代码中对象交换的难易程度等因素的情况下进行选择。(4)根据合作方要求对系统进行需求分析,明确系统的功能需求和性能需求。设计并实现相关模块,主要包括解释器模块、资源调度模块、用户代码管理模块、可视化模块。(5)在实验室环境中进行系统部署,根据用例表格对系统中的各个功能进行测试,并验证系统是否满足预设的性能要求。经系统测试,本文设计实现的制造业数据交互式分析平台的各个功能逻辑处理正确,各功能解释器均可正常使用,满足企业对系统的性能要求。综上所述,该系统可以支持用户根据任务选择最合适的语言或技术进行全程可调试的复杂数据分析和协作,对促进制造业企业挖掘运转过程中产生的数据的价值具有重大意义。
郝亮[9](2019)在《面向开源代码复用的程序比对分析技术研究》文中研究说明随着软件产业的发展和开源运动的兴起,开源软件复用已经成为软件开发过程中的常用手段。复用开源软件在缩短开发周期、降低研发成本、提高软件质量等方面拥有显着优势,大量IT企业以开源软件为基础构建其核心产品,开源软件已成为软件行业中一股重要的新兴势力。尽管开源软件的资源储量非常丰富,然而要做到对现有成果的有效复用却并非易事,其中开源许可证侵权及代码同步更新困难是复用过程中面临的两个挑战。上述两方面挑战是影响开源软件复用的主要障碍,有效的程序比对分析技术是解决此类问题的有效途径。针对上述问题,本文提出了一种以函数为基本单元的代码比对分析方法,细化了分析粒度。结合代码仓库增量分析方法,仅对软件版本快照间变动的内容(后文统称为增量文本)进行分析,有效缩减了分析规模。分析方法大致分为四个步骤:首先,获取软件版本快照间的文本变动内容。然后,设计增量函数提取算法,将增量文本转化为完整的、可执行语法分析的函数。之后根据语法规则提取函数特征信息,并使用Simhash算法将函数转化为对应的二进制哈希数列(即函数指纹),建立代码索引库。最后,利用大数据分析技术实现了函数指纹的比对和溯源,根据比对和溯源结果找到可用的、高质量的、最新的代码。本文首次提出了一种以增量分析为核心、以函数为基本单元的代码比对分析方法,设计了面向开源代码分析的原型系统,可对开源生态系统中的代码进行整体分析。通过构建函数指纹索引库和程序分析原型系统,建立了针对开源代码复用的程序检测公共服务平台,实现了开源资源的有效管理,规避了开源许可证侵权风险。通过上述方法,开发人员不仅可以更容易地定位到原生项目代码仓库中的代码更新,还能在整个开源生态系统中检索到质量更高、开发更为活跃的代码,能够更好的满足开源代码复用中常见的许可证侵权检测及代码同步更新需求。
蔡亮,范元瑞,鄢萌,夏鑫[10](2019)在《即时软件缺陷预测研究进展》文中进行了进一步梳理软件缺陷预测一直是软件工程研究中最活跃的领域之一,研究人员己经提出了大量的缺陷预测技术,根据预测粒度不同,主要包括模块级、文件级和变更级(change-level)缺陷预测.其中,变更级缺陷预测旨在于开发者提交代码时,对其引入的代码是否存在缺陷进行预测,因此又被称作即时(just-in-time)缺陷预测.近年来,即时缺陷预测技术由于其即时性、细粒度等优势,成为缺陷预测领域的研究热点,取得了一系列研究成果;同时也在数据标注、特征提取、模型评估等环节面临诸多挑战,迫切需要更先进、统一的理论指导和技术支撑.鉴于此,从即时缺陷预测技术的数据标注、特征提取和模型评估等方面对近年来即时缺陷预测研究进展进行梳理和总结.主要内容包括:(1)归类并梳理了即时缺陷预测模型构建中数据标注常用方法及其优缺点;(2)对即时缺陷预测的特征类型和计算方法进行了详细分类和总结;(3)总结并归类现有模型构建技术;(4)总结了模型评估中使用的实验验证方法与性能评估指标;(5)归纳出了即时缺陷预测技术的关键问题;(6)最后展望了即时缺陷预测的未来发展.
二、使用WinCvs对代码进行版本控制(论文开题报告)
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
本文主要提出一款精简64位RISC处理器存储管理单元结构并详细分析其设计过程。在该MMU结构中,TLB采用叁个分离的TLB,TLB采用基于内容查找的相联存储器并行查找,支持粗粒度为64KB和细粒度为4KB两种页面大小,采用多级分层页表结构映射地址空间,并详细论述了四级页表转换过程,TLB结构组织等。该MMU结构将作为该处理器存储系统实现的一个重要组成部分。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
三、使用WinCvs对代码进行版本控制(论文提纲范文)
(1)电能计量系统智能安全测试平台(论文提纲范文)
1 平台架构 |
1.1 逻辑架构 |
1.2 平台设计思路 |
2 功能模块描述 |
2.1 系统管理 |
2.2 设备管理 |
2.3 文件管理 |
2.4 项目管理 |
2.5 漏洞扫描 |
3 应用案例 |
3.1 环境配置 |
3.2 代码质量阈值及规则 |
3.3 安全漏洞扫描 |
4 结论 |
(2)代码注释自动生成方法综述(论文提纲范文)
1 研究框架 |
2 基于模板的生成方法 |
2.1 简述 |
2.2 已有工作的分析 |
2.2.1 基于SWUM分析的方法 |
2.2.2 基于版型信息分析的方法 |
2.2.3 其他类型的方法 |
2.3 已有工作的对比和评点 |
3 基于信息检索的生成方法 |
3.1 简述 |
3.2 已有工作的分析 |
3.2.1 基于代码关键词抽取的方法 |
3.2.2 基于软件仓库挖掘的方法 |
3.3 已有工作的对比和评点 |
4 基于深度学习的生成方法 |
4.1 简述 |
4.2 已有工作的分析 |
4.2.1 基于经典编码器-解码器模型的方法 |
4.2.2 综合使用其他类型的学习算法 |
4.2.3 考虑其他信息来源 |
4.3 已有工作的对比和评点 |
5 代码注释语料库分析 |
6 代码注释生成质量的评估方法 |
6.1 人工评估的方法 |
6.2 自动评估的方法 |
7 总结与展望 |
(3)一种Hunk内的行差异分析方法及展示(论文提纲范文)
摘要 |
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 可视化框架JavaFX |
2.3 文本相似性 |
2.3.1 文本相似性的相关研究 |
2.3.2 Jaccard文本相似性算法 |
2.4 Eclipse及其插件技术 |
2.4.1 Eclipse |
2.4.2 Eclipse插件开发环境(PDE) |
2.5 相关开发工具 |
2.6 本章小结 |
第3章 二次差异化分析中的失配问题 |
3.1 失配问题的占比 |
3.2 问题分析 |
3.2.1 Token 失配问题分析 |
3.2.2 语句失配问题分析 |
3.3 本章小结 |
第4章 基于Hunk的行差异化分析方法 |
4.1 差异分析方法概述 |
4.2 代码变更块的获取与切分 |
4.2.1 代码变更块的获取(Hunk识别) |
4.2.2 代码变更块的切分(Hunk切分) |
4.3 基于轻语法分析的Hunk内二次差异化分析算法 |
4.3.1 算法框架 |
4.3.2 算法的描述 |
4.3.3 相似性匹配matching算法的描述 |
4.4 差异分析算法的实现 |
4.4.1 语句识别 |
4.4.2 语句相似性匹配 |
4.4.3 语句内部差异化 |
4.5 本章小结 |
第5章 基于Eclipse插件的代码变更差异分析工具的设计与实现 |
5.1 需求性分析 |
5.2 整体结构设计 |
5.3 相关功能的实现 |
5.3.1 插件功能的实现 |
5.3.2 外部工具展示功能的实现 |
5.4 数据源 |
5.5 相似阈值的选择 |
5.6 工具验证与分析 |
5.6.1 工具的验证 |
5.6.2 实验结果与分析 |
5.7 本章小结 |
第6章 总结与展望 |
参考文献 |
致谢 |
在学期间主要科研成果 |
一、发表学术论文 |
二、其它科研成果 |
(4)基于Jenkins技术实现自动测试系统研究(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 课题的研究背景和意义 |
1.2 国内外研究现状 |
1.3 研究内容与工作 |
第2章 持续集成相关技术概述 |
2.1 持续集成基础理论 |
2.1.1 持续集成的概念及作用 |
2.1.2 持续集成的过程及架构 |
2.2 持续集成工具 |
2.2.1 版本控制工具 |
2.2.2 持续集成服务器 |
2.2.3 构建工具 |
2.3 本章小结 |
第3章 Jenkins平台的部署及设置 |
3.1 Jenkins平台的部署 |
3.1.1 Jenkins安装 |
3.1.2 Jenkins初始化 |
3.2 Jenkins平台的设置 |
3.2.1 系统配置 |
3.2.2 工具配置 |
3.2.3 安全配置 |
3.2.4 节点配置 |
3.3 本章小结 |
第4章 基于Jenkins的持续集成方案 |
4.1 项目的目标 |
4.2 工具集成方法 |
4.2.1 集成版本管理工具 |
4.2.2 集成静态测试工具 |
4.2.3 集成Green Hills工具 |
4.2.4 集成Tasking编译器和winIDEA调试器 |
4.2.5 集成CANoe工具 |
4.3 项目的备份与还原 |
4.3.1 Jenkins主目录文件介绍 |
4.3.2 Jenkins项目备份和还原的方法 |
4.4 本章小结 |
第5章 基于Spark SQL的数据处理算子开发 |
5.1 Spark SQL介绍 |
5.1.1 Spark SQL的功能 |
5.1.2 Spark SQL执行过程 |
5.2 数据源读取 |
5.3 工况算子的开发 |
5.3.1 稳态筛选算子的开发 |
5.3.2 剔除算子的开发 |
5.3.3 持续激励算子的开发 |
5.4 统计算子的开发 |
5.4.1 常规统计算子开发 |
5.4.2 高级统计算子开发 |
5.4.3 超限统计算子开发 |
5.5. 本章小结 |
第6章 持续集成方案的部署与成果 |
6.1 Jenkins持续集成工程实施 |
6.1.1 方案实施环境 |
6.1.2 项目配置 |
6.2 工程实施结果 |
6.2.1 静态测试工具Polyspace集成结果 |
6.2.2 Green Hills工具集成结果 |
6.2.3 Tasking与winIDEA集成结果 |
6.2.4 CANoe集成结果 |
6.2.5 结果总结 |
6.3 本章小结 |
第7章 结论与展望 |
7.1 全文总结 |
7.2 展望 |
参考文献 |
攻读硕士学位期间发表的论文及其它成果 |
致谢 |
(5)重构测试代码异味对代码质量影响的度量分析(论文提纲范文)
摘要 |
Abstract |
第1章 绪论 |
1.1 研究背景及目的 |
1.2 国内外研究现状 |
1.2.1 代码异味的实证研究 |
1.2.2 代码异味及测试异味的自动化检测 |
1.2.3 测试异味实证性研究 |
1.3 课题来源 |
1.4 论文主要研究内容 |
1.5 论文结构 |
第2章 相关知识 |
2.1 测试代码异味 |
2.2 测试异味的性质和影响分析 |
2.3 自动化测试异味检测工具 |
2.4 变更倾向及其量化 |
2.5 缺陷倾向及其量化 |
2.6 相对风险RR |
2.7 本章小结 |
第3章 基于缺陷及变更倾向的代码质量度量分析方法 |
3.1 数据采集及处理 |
3.2 缺陷倾向分析方法和过程 |
3.3 变更倾向分析方法和过程 |
3.4 本章小结 |
第4章 实验设计 |
4.1 实验环境和数据集 |
4.2 问题设计 |
4.3 实验过程 |
4.4 本章小结 |
第5章 实验结果及分析 |
5.1 RQ1 结果及分析:缺陷倾向 |
5.2 RQ2 结果及分析:变更倾向 |
5.3 RQ3:影响实验效度的因素 |
5.4 本章小结 |
第6章 总结与展望 |
6.1 研究总结 |
6.2 研究展望 |
参考文献 |
攻读学位期间取得的研究成果 |
致谢 |
(6)云环境下协同开发平台的设计与实现(论文提纲范文)
摘要 |
abstract |
第一章 绪论 |
1.1 课题背景及意义 |
1.2 国内外研究历史和现状 |
1.2.1 国外研究现状 |
1.2.2 国内研究现状 |
1.3 本文的主要工作 |
1.4 本论文的结构安排 |
第二章 相关技术研究分析 |
2.1 计算资源虚拟化相关技术介绍 |
2.2 HTML5 |
2.3 Node.js |
2.4 Vue.js |
2.5 单页面应用 |
2.6 本章小结 |
第三章 协同开发平台的分析与设计 |
3.1 协同开发平台的需求分析 |
3.1.1 功能需求分析 |
3.1.2 非功能性需求分析 |
3.2 系统架构设计 |
3.2.1 前端架构分析与设计 |
3.2.2 服务端架构分析与设计 |
3.3 模块概要设计 |
3.3.1 资源管理模块 |
3.3.2 交流演示模块 |
3.3.3 工作空间模块设计 |
3.3.4 代码版本控制模块 |
3.3.5 项目管理模块 |
3.4 协同开发平台数据库设计 |
3.5 本章小结 |
第四章 协同开发平台的详细设计及实现 |
4.1 管理员管理模块 |
4.1.1 用户管理 |
4.1.2 虚拟资源管理 |
4.2 交流演示模块 |
4.2.1 音视频模块 |
4.2.2 共享屏幕设计 |
4.2.3 在线演示设计 |
4.3 工作空间模块详细设计 |
4.3.1 文件管理子模块 |
4.3.2 代码编辑子模块 |
4.3.3 终端调试子模块 |
4.4 代码版本控制模块 |
4.4.1 可视化模块的设计 |
4.4.2 中央代码库 |
4.5 项目管理模块 |
4.5.1 项目发版与下载 |
4.5.2 自动化部署设计 |
4.6 本章小结 |
第五章 协同开发平台的测试与分析 |
5.1 测试环境搭建 |
5.2 模块功能测试 |
5.2.1 注册登录功能测试 |
5.2.2 管理员管理模块 |
5.2.3 工作空间模块 |
5.3 性能及可靠性测试 |
5.3.1 可靠性测试 |
5.3.2 性能测试 |
5.4 本章小结 |
第六章 总结与展望 |
6.1 全文总结 |
6.2 不足与展望 |
致谢 |
参考文献 |
(7)基于隐马尔可夫模型的代码仓库审查时间预测方法(论文提纲范文)
摘要 |
Abstract |
第一章 绪论 |
1.1 研究背景及意义 |
1.2 国内外研究现状 |
1.3 研究内容及创新 |
1.4 论文结构及其安排 |
第二章 相关背景知识介绍 |
2.1 分布式版本控制系统 |
2.1.1 代码审查 |
2.1.2 Pull Request |
2.1.3 持续集成 |
2.2 隐马尔可夫模型 |
2.3 软件缺陷预测 |
2.4 本章小结 |
第三章 基于隐马尔可夫模型的PR审查时间预测 |
3.1 马尔科夫模型 |
3.2 HMM简介 |
3.2.1 隐马尔可夫模型定义及相关变量 |
3.2.2 隐马尔可夫模型实例 |
3.2.3 HMM的三个基本问题 |
3.3 模型的构建 |
3.4 检索开发人员活动序列 |
3.4.1 初始属性 |
3.4.2 交流 |
3.4.3 PR状态 |
3.5 模型训练 |
3.6 本章小结 |
第四章 基于梯度提升模型的PR审查时间预测 |
4.1 梯度提升模型简介 |
4.1.1 GBDT模型 |
4.2 特征提取 |
4.2.1 特征分析 |
4.3 模型训练与测试 |
4.4 本章小结 |
第五章 实验与结果分析 |
5.1 实验环境 |
5.1.1 硬件环境 |
5.1.2 开发环境 |
5.2 实验数据 |
5.3 实验步骤 |
5.3.1 数据准备 |
5.3.2 模型训练 |
5.3.3 测试 |
5.3.4 模型性能评估 |
5.4 评价指标 |
5.5 实验结果分析 |
5.5.1 预测准确性分析 |
5.5.2 与现有工具比较结果分析 |
5.6 对有效性的威胁 |
5.7 本章小结 |
第六章 总结与展望 |
6.1 总结 |
6.2 展望 |
参考文献 |
附录1 攻读硕士学位期间申请的专利 |
致谢 |
(8)制造业数据交互式分析平台的设计与实现(论文提纲范文)
摘要 |
ABSTRACT |
符号对照表 |
缩略语对照表 |
第一章 绪论 |
1.1 研究背景 |
1.2 国内外研究现状 |
1.3 论文研究内容 |
1.4 论文组织结构 |
1.5 本章小结 |
第二章 相关技术概述 |
2.1 解释器 |
2.1.1 解释器与编译器 |
2.1.2 解释器优化方案 |
2.1.3 JVM的四种执行模式 |
2.2 数据存储相关技术 |
2.2.1 Redis |
2.2.2 Fast DFS |
2.3 服务端技术简介 |
2.3.1 Thrift |
2.3.2 Spring Boot |
2.4 客户端技术 |
2.4.1 Angular |
2.4.2 Web Socket |
2.5 本章小结 |
第三章 系统需求分析 |
3.1 系统需求概要分析 |
3.1.1 系统整体功能分析 |
3.1.2 系统总体用例图 |
3.2 系统需求详细分析 |
3.2.1 代码文件版本控制用例描述 |
3.2.2 代码文件权限管理用例描述 |
3.2.3 解释器模式绑定用例描述 |
3.2.4 数据源配置用例描述 |
3.2.5 代码执行用例描述 |
3.2.6 可视化用例描述 |
3.3 非功能性需求 |
3.4 本章小结 |
第四章 系统设计与实现 |
4.1 系统总体设计与实现 |
4.1.1 系统逻辑架构设计 |
4.1.2 系统功能分解图 |
4.1.3 系统内部交互模型图 |
4.2 解释器模块的设计与实现 |
4.2.1 解释器管理功能的设计与实现 |
4.2.2 数据源配置的设计与实现 |
4.2.3 各功能解释器的设计与实现 |
4.3 资源调度模块的设计与实现 |
4.3.1 解释器绑定模式对应的资源调度策略 |
4.3.2 各功能解释器执行策略的设计与实现 |
4.4 用户代码管理模块的设计与实现 |
4.5 可视化模块设计与实现 |
4.6 数据库和文件服务的设计与实现 |
4.6.1 数据库设计与实现 |
4.6.2 文件服务的设计与实现 |
4.7 本章小结 |
第五章 系统测试及结果展示分析 |
5.1 测试环境说明 |
5.2 系统功能性测试 |
5.2.1 用户登录展示 |
5.2.2 代码文件基本操作用例 |
5.2.3 代码文件版本控制测试用例 |
5.2.4 代码文件权限管理测试用例 |
5.2.5 解释器管理测试用例 |
5.2.6 代码执行测试用例 |
5.2.7 可视化测试用例 |
5.3 系统非功能性测试 |
5.4 测试结果分析 |
5.5 本章小结 |
第六章 总结与展望 |
6.1 工作总结 |
6.2 工作展望 |
参考文献 |
致谢 |
作者简介 |
(9)面向开源代码复用的程序比对分析技术研究(论文提纲范文)
摘要 |
ABSTRACT |
1 绪论 |
1.1 研究背景及意义 |
1.2 国内外研究现状 |
1.3 工作内容 |
1.4 课题来源 |
1.5 论文结构 |
2 相关技术介绍 |
2.1 版本控制软件 |
2.1.1 SVN |
2.1.2 Git |
2.2 词法分析器 |
2.3 语法分析器 |
2.4 哈希算法 |
2.4.1 传统哈希算法 |
2.4.2 局部敏感哈希算法 |
2.5 海量数据搜索技术 |
2.6 本章小结 |
3 程序比对分析方法 |
3.1 获取仓库代码 |
3.1.1 获取完整的仓库代码 |
3.1.2 获取增量文本 |
3.2 完整和增量语法分析 |
3.2.1 完整语法分析 |
3.2.2 增量函数提取 |
3.3 构造函数指纹 |
3.3.1 词法分析 |
3.3.2 Simhash函数指纹构造算法 |
3.4 相似度计算和比对分析 |
3.5 代码侵权检测和代码同步更新实现机制 |
3.5.1 开源许可证侵权检测 |
3.5.2 代码同步更新 |
3.6 本章小结 |
4 原型系统的设计与实现 |
4.1 原型系统客户端实现 |
4.2 原型系统服务端实现 |
4.2.1 函数指纹数据库表结构设计 |
4.2.2 函数指纹检索接口设计 |
4.3 本章小结 |
5 原型系统分析能力验证 |
5.1 实验1:代码分析效率对比 |
5.2 实验2:工程相似度判定能力验证 |
5.3 实验3:函数更新能力验证 |
5.4 实验4:海量函数指纹检索能力验证 |
6 总结与展望 |
6.1 结论 |
6.2 主要贡献 |
6.3 未来的工作 |
参考文献 |
个人简介 |
导师简介 |
获得成果 |
致谢 |
(10)即时软件缺陷预测研究进展(论文提纲范文)
1 即时缺陷预测技术 |
1.1 数据标注 |
1.2 特征提取 |
1.2.1 特征提取研究进展 |
1.2.2 特征类型 |
1.3 模型构建 |
1.3.1 有监督建模 |
1.3.2 无监督建模 |
2 即时缺陷预测评估方法 |
2.1 实验验证方法 |
2.1.1 交叉验证 |
2.1.2 时间感知验证 |
2.2 评价指标 |
2.2.1 查准率、查全率、正确率和F1-measure |
2.2.2 AUC |
2.2.3 工作量感知 (effort-aware) 指标 |
3 即时缺陷预测技术的关键问题 |
3.1 科学问题 |
3.1.1 缺陷的可解释性 |
3.1.2 缺陷预测结果的实用性 |
3.2 技术难点 |
3.2.1 数据标注 |
3.2.2 特征提取 |
3.2.3 模型构建 |
3.3 工程实践 |
4 即时缺陷预测的未来展望 |
4.1 加强噪音数据的处理, 提出更准确的数据标注方法 |
4.2 综合考虑多源软件制品, 提取多维特征 |
4.3 研究更先进的建模技术, 取得建模技术上的突破 |
4.4 解决实践中的工程问题, 推动即时缺陷预测的广泛应用 |
5 总结 |
四、使用WinCvs对代码进行版本控制(论文参考文献)
- [1]电能计量系统智能安全测试平台[J]. 刘涛,伍少成,马越,赵杰,姜和芳. 信息安全研究, 2021(11)
- [2]代码注释自动生成方法综述[J]. 陈翔,杨光,崔展齐,孟国柱,王赞. 软件学报, 2021(07)
- [3]一种Hunk内的行差异分析方法及展示[D]. 公鑫. 齐鲁工业大学, 2021(10)
- [4]基于Jenkins技术实现自动测试系统研究[D]. 胡志宝. 华北电力大学(北京), 2021(01)
- [5]重构测试代码异味对代码质量影响的度量分析[D]. 黄华俊. 上海师范大学, 2021(07)
- [6]云环境下协同开发平台的设计与实现[D]. 谢圣明. 电子科技大学, 2021(01)
- [7]基于隐马尔可夫模型的代码仓库审查时间预测方法[D]. 潘臻. 南京邮电大学, 2020(03)
- [8]制造业数据交互式分析平台的设计与实现[D]. 杨妍. 西安电子科技大学, 2020(05)
- [9]面向开源代码复用的程序比对分析技术研究[D]. 郝亮. 北京林业大学, 2019(04)
- [10]即时软件缺陷预测研究进展[J]. 蔡亮,范元瑞,鄢萌,夏鑫. 软件学报, 2019(05)
标签:jenkins论文; 持续集成论文; 版本控制论文; 预测模型论文; jenkins使用论文;