首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 734 毫秒
1.
源代码迁移技术旨在将源代码从一种编程语言转换至另一种编程语言,以减轻开发人员迁移软件项目的负担.现有研究通常利用神经机器翻译(NMT)模型将源代码转换为目标代码,但这些研究忽略了代码结构特征,导致源代码迁移性能不佳.为此,本文提出了基于代码语句掩码注意力机制的源代码迁移模型CSMAT (code-statement masked attention Transformer).该模型利用Transformer的掩码注意力机制(masked attention mechanism),在编码时引导模型理解源代码语句的语法和语义以及语句间上下文特征,在译码时引导模型关注并对齐源代码语句,从而提升源代码迁移性能.本文使用真实项目数据集CodeTrans进行实证研究,并使用4个指标评估模型性能.实验结果验证了CSMAT的有效性,同时验证了代码语句掩码注意力机制在预训练模型的适用性.  相似文献   

2.
本文以无线电调谐单元设备中的无线电调谐软件为例,通过引入LDRATESTBED自动化测试工具提高测试效率,实现满足DO-178C中的语句覆盖数据的目标.语句覆盖是民用飞机软件研制中最基本的覆盖率测试目标.语句覆盖可以有效检测出源代码中的多余代码,提高代码质量.通过实验表明LDRATESTBED可以快速完成源代码插桩以及代码覆盖率数据分析任务,同时,该工具自动标识源代码中未执行的代码,为开发者提供了分析的基础.工具生成的语句覆盖率数据满足DO-178C标准目标要求,可以作为证据提交给局方进行审查,提高软件的置信度.  相似文献   

3.
针对源代码迁移模型存在的迁移代码语义一致性问题,在词符注意力机制的基础上引入了语句注意力机制,提出了一种基于层次注意力机制的源代码迁移模型HPGN(hierarchical pointer-generator network),设计了状态传递机制。HPGN在迁移过程中,语句注意力机制对齐源代码语句和迁移代码语句的特征,词符注意力机制从对齐的代码语句中提取词符,状态传递机制传递相邻迁移代码语句的特征,从而提升了迁移代码的语义一致性。在真实项目数据集的实验结果表明,HPGN比最佳对比模型提高了3.4个总体分值,同时有着更少的模型参数量。此外,消融实验验证了状态传递机制和HPGN层次架构的有效性。  相似文献   

4.
为了在语料库中找出源代码的真实作者,提出了一种代码耦合度与程序依赖图特征结合的神经网络模型CPNN来识别源代码作者.首先,使用从源代码中提取的参数、扇入和扇出等特征计算代码的耦合度.其次,从转换的程序依赖图中提取控制和数据依赖项,应用预处理技术将PDG特征转换为具有频率细节的小实例,并且利用逆文档频率技术放大源代码中每个PDG特性的重要性.最后,利用CPNN模型预测程序员的编码风格特征,并对编码风格的真正作者进行属性划分.在1000名程序员的源代码数据集上进行作者归属预测,得到了95% 的准确率.  相似文献   

5.
李阵  钮俊  王奎  辛园园 《计算机应用》2018,38(3):812-817
对开源代码进行准确搜索是实现代码复用的前提。在基于关键字搜索的研究中,目前只关注匹配方法签名。结合源代码注释对方法功能的语义描述,提出结合代码注释的关键字搜索方法。通过生成源代码抽象语法树,从中识别方法签名与各类型注释等组合代码特征;将代码特征与查询语句分别用向量表示,并计算向量间的余弦相似度,然后制定针对搜索结果多特征权重分配的评分机制。根据评分对搜索结果进行排序,得到与查询语句相关的结果序列。实验结果表明,多个代码特征在不同权重影响下可以提升源代码搜索准确度。  相似文献   

6.
Turbo Pascal是80年代开始流行的优秀的Pascal编译系统,被广大编程人员所使用,它以编译速度快、生成的目标代码高速和紧凑而著称。在大多数情况下,只使用Turbo Pascal即可以完成各种各样的程序编制工作,但是,在硬件接口程序、实时控制程序及大规模浮点运算时,都需要用汇编语言来编程。虽然Turbo Pascal提供丁INLINE语句  相似文献   

7.
在软件开发的过程中,开发人员通过复制粘贴式的开发方式或者模块化的开发方式来完成需求是十分常见的,这两种开发方式可以提高开发效率,但同时会导致软件系统中出现大量的相同代码或者相似代码,大量的相似代码会给软件维护等方面带来很大的困难,这也是最常见的重构对象。源代码相似性度量是指利用一定的检测方法分析程序源代码间的相似程度。该技术被应用于代码抄袭检测、代码克隆检测、软件知识产权保护、代码复用等多个领域。为了提高代码相似性度量的准确性,提出了一种基于多特征值的源代码相似性检测技术。构建了源代码注释、型构、代码文本语句与结构中特征提取的方法,并给出了源代码相似度检测的度量模型。通过与权威的代码相似检测系统Moss进行对比实验,结果表明该方法可以更准确地检测出相似代码。  相似文献   

8.
开发了一个以Delphi为开发平台用Pascal语言编写的自动编译系统,能对for语句、while语句、repeat语句、if语句、procedure过程、function函数、递归调用、调用外部函数等进行解释执行.本系统针对源程序进行词法分析、语法分析、出错检测,并最终生成自定义的目标代码.后两项功能的实现是本系统的创新所在.  相似文献   

9.
《软件》2019,(11):4-8
为了检测出数据库实验课程中结构化查询语言(StructuredQueryLanguage,SQL)语句代码的抄袭行为,发现因SQL语句篇幅较短,使用现有的技术进行代码检测却没有得到预期的结果,于是提出了一种基于编码习惯的SQL语句抄袭检测算法。获取学生历史的编码数据并分类,判定待检测代码的类别并将其与之类别相同的代码依照学生的编码习惯进行特征提取,进而得到特征矩阵并对比代码之间的相似程度,对涉嫌抄袭的代码进行过滤,判断该代码是否为该学生编写。实验结果表明,该算法能够有效地判断出学生的抄袭行为,同时也解决因编码篇幅较短而带来的难以检测是否为抄袭代码这一问题。  相似文献   

10.
针对基于语言模型的代码补全方法忽略源代码中结构信息和命名信息而导致补全准确率偏低的问题,提出一种基于多任务学习的代码补全方法(multi-task learning code completion, MTLCC)。MTLCC对源代码数据集进行数据清洗和预处理,通过抽象语法树(abstract syntax tree, AST)提取源代码中的结构信息和命名信息;构建基于Transformer的多任务学习网络,采用软参数共享学习方式分别对源代码的节点类型预测、节点值预测和语句预测进行训练;利用集束搜索对模型推理结果进行后期处理生成代码补全建议列表。实验结果表明,与Pointer network、LSTM+TransformerXL和CodeGPT中最好的模型相比,MTLCC在节点类型预测和节点值预测任务中的准确率分别提升了2.5%和1.7%、MRR分别提升了3.7%和2.4%,在语句预测任务中的ROUGE-L分数(L@4)提升了0.055。  相似文献   

11.
多年来的软件开发积累了大量的源代码,同时不少代码搜索工具也被开发出来,但是,现有的工具都不够精确,因而很少有人使用。本文提出一种高效的源代码搜索算法,通过识别查询语句与API的关系,以提高代码搜索的准确性。基于该算法,本文实现一个针对C#源代码的搜索工具,并通过客观实验与用户调研对算法进行评估。实验结果表明本文提出的搜索算法是十分有效的。   相似文献   

12.
现有的方面挖掘技术一般是类的方法级的挖掘,侧重于软件系统的结构改造,不能直接解决面向方面编程所关注的语句级代码纠缠和代码分散问题.针对这种情况.表文提出了一种基于形式概念分析的语句级自动化方面挖掘方法.该方法使用形式慨愈分析识别源代码中的关注点,实现语句级的自动化方面挖掘.该方法具有自动化、语句级和效率高等特点,可以用来快速实现对遗留平统的面向方面的改造.  相似文献   

13.
AVS中的运动搜索和变换域编码是运算量很大的部分,也影响了系统的实时编码效率。该文重点介绍了全零块判决方法的改进,即在运动搜索中对差值块先进行全零块判决,以减少整数变换和相应的量化运算,从而提高了编码效率,以及DCT的相关知识。利用VC6.0对源代码和修改后的代码进行了仿真实验,验证了改进后的代码比源代码在全零块判决效率上有了很大的提高。  相似文献   

14.
在软件相似性鉴定中,笔者遇到了一个C语言编写软件和汇编语言编写软件的相似性鉴定,在过往的几个相似判决案例中,鉴定机构都直接比对了目标代码,且在其中一份判决案例中直接提到了在二进制代码实质相同的情形下,存在用不同语言编写的源程序的可能性极小。而在本案中,经过试验求证,发现相同的目标代码是可能来源于不同语言编写的源代码,而且C语言源代码和汇编语言源代码之间存在转换关系,C语言源代码可在编译中生成汇编语言代码,而C语言源代码生成的目标代码也可反编译成汇编语言代码,从而进行进一步的比对,这种比对,在原被告都提供了与目标代码对应的源代码的情况下,比只比对目标代码显然更具有说服力。  相似文献   

15.
刘有耀  杨鹏程 《计算机应用》2016,36(9):2422-2426
针对当前大量遗产代码无法重复利用的问题,设计一种新的编译工具将C的串行代码转换为基于MPI+OpenMP的混合并行编程代码,降低了并行编程的开发成本。首先,通过对JavaCC的优化,实现一种可以解析C语言的词法和语法分析器,进行源代码分析并生成抽象语法树;其次,根据语法树对源代码进行控制依赖性和数据依赖性分析,产生可并行化的语句块分区;再次,按照提出的并行代码生成方法得到目标代码;最后,基于Visual Studio 2010构建目标代码仿真验证环境。实验结果表明,该工具可以较为理想地实现串行代码自动并行化,与手工编写的代码在加速比上的误差为8.2%~18.4%。  相似文献   

16.
在现阶段的大规模软件工程开发中,源代码数量已经变得越来越庞大,动辄就是数百万,甚至是数千万行以上.随着源代码数量的激增,代码的逻辑越来越复杂,相互之间的调用关系越来越繁复,代码的安全漏洞也越来越容易出现.常规的人工检查和调试已经完全不能满足庞大的系统软件的审查需求.此时,常在源代码正式发布之前,使用安全代码审查机制来快速找出系统中绝大多数的安全漏洞.针对这一问题,文章结合传统的代码安全审查原理和当前流行的可信计算技术,提出了一种基于可信计算技术的源代码安全审查模型.在代码的安全审查过程中,利用可信计算的可信度量原理的审查方法,结合运用安全操作系统的访问控制机制,检测出源代码中可能不符合可信计算理论的系统资源访问,防止主体触发来源不可信或已被篡改的代码,从而实现对各种已知和未知恶意代码的防御,让最终的代码在运行时符合可信计算标准.该模型通过将不同的软件进行类型分级,从而确定不同软件对系统资源的不同使用权限.使用文中规范开发的代码遵循可信计算标准,可以杜绝恶意代码对系统资源的不安全访问.  相似文献   

17.
我见到过许多用JavaScript书写的Web页面,这些代码确实为Web增色不少。但JavaScript作为一种描述性的语言,它的代码对任何人都是可见的。具体的说,当你浏览到一个你感兴趣且包含有JavaScript代码的页面时,你只要在页面上单击鼠标右键,选择“查看源代码”,所有的代码  相似文献   

18.
李刚  丁佳  梁盟磊  薛小平  王小平 《计算机工程》2011,37(3):230-232,235
针对轨道交通车载装备的安全性问题,基于安全编码处理器(VCP)的编码思想,设计并实现安全编码预编译器(VCPC)。VCPC能将没有安全性的源代码转换成具有验证能力的安全代码,生成的安全代码可应用于VCP中的单处理器,实现对处理器各种故障的监测和保护。测试结果表明,该安全代码的剩余错误率可以达到1/A。  相似文献   

19.
嵌入式软件语句覆盖率测试插桩技术   总被引:1,自引:0,他引:1  
孙红利  王忠民  王文浪 《计算机应用》2010,30(10):2738-2740
针对基于宿主机的嵌入式软件测试,提出一种单元测试中通用的语句覆盖率测试方法,通过插桩技术,采用向源代码插桩实现语句覆盖率测试。设计了测试代码的实现算法,通过测试代码可以自动完成向被测代码插桩。这些方法被成功地应用到笔者所在项目组开发的嵌入式软件仿真测试平台ARMtest上。利用这些方法,在嵌入式硬件系统未完成开发之前,可通过宿主机环境和仿真环境及时发现嵌入式软件开发初期的一些不足并加以完善。  相似文献   

20.
该软件是适用于IBM系列微机的最快的和完备无误的ANSI FORTRAN77编译程序。特点是: (1) 完整的FORTRAN开发环境 1) 采用源级窗式定位的MS-代码图调试程序。允许与汇编,C和Pascal语言联调。可控制和跟踪程序运行,设定中断点,检查变量或表达式,观察源代码,修改变量数据或寄存  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号