期刊文献+
共找到33篇文章
< 1 2 >
每页显示 20 50 100
代码复用攻防技术演化综述
1
作者 詹静 陈鹏 +2 位作者 张茜 李永震 赵勇 《北京工业大学学报》 CAS CSCD 北大核心 2024年第5期632-650,共19页
当前代码复用攻击研究多从一种或多种代码复用攻击或防御技术角度进行现状和趋势分析,对影响攻防的关键特征及技术覆盖不全面,对攻防技术对抗演化发展规律分析较少。为解决上述问题,从经典代码复用攻击——返回导向编程(return-oriented... 当前代码复用攻击研究多从一种或多种代码复用攻击或防御技术角度进行现状和趋势分析,对影响攻防的关键特征及技术覆盖不全面,对攻防技术对抗演化发展规律分析较少。为解决上述问题,从经典代码复用攻击——返回导向编程(return-oriented programming,ROP)攻击的生命周期入手,归纳影响此类攻击成功与否的关键特征,基于时间线和这些特征,综合衡量安全和性能因素,给出了代码复用攻防技术的发展规律。 展开更多
关键词 程序安全 代码复用攻击 攻防技术演化 指令结构特征 地址随机化 运行代码特征
在线阅读 下载PDF
面向Linux的内核级代码复用攻击检测技术 被引量:8
2
作者 陈志锋 李清宝 +1 位作者 张平 王烨 《软件学报》 EI CSCD 北大核心 2017年第7期1732-1745,共14页
近年来,代码复用攻击与防御成为安全领域研究的热点.内核级代码复用攻击使用内核自身代码绕过传统的防御机制.现有的代码复用攻击检测与防御方法多面向应用层代码复用攻击,忽略了内核级代码复用攻击.为有效检测内核级代码复用攻击,提出... 近年来,代码复用攻击与防御成为安全领域研究的热点.内核级代码复用攻击使用内核自身代码绕过传统的防御机制.现有的代码复用攻击检测与防御方法多面向应用层代码复用攻击,忽略了内核级代码复用攻击.为有效检测内核级代码复用攻击,提出了一种基于细粒度控制流完整性(CFI)的检测方法.首先根据代码复用攻击原理和正常程序控制流构建CFI约束规则,然后提出了基于状态机和CFI约束规则的检测模型.在此基础上,基于编译器,辅助实现CFI标签指令插桩,并在Hypervisor中实现CFI约束规则验证,提高了检测方法的安全性.实验结果表明,该方法能够有效检测内核级代码复用攻击,并且性能开销不超过60%. 展开更多
关键词 代码复用攻击 内核 控制流完整性 插桩 约束规则
在线阅读 下载PDF
基于运行特征监控的代码复用攻击防御 被引量:4
3
作者 张贵民 李清宝 +1 位作者 张平 程三军 《软件学报》 EI CSCD 北大核心 2019年第11期3518-3534,共17页
针对代码复用的攻击与防御已成为网络安全领域研究的热点,但当前的防御方法普遍存在防御类型单一、易被绕过等问题.为此,提出一种基于运行特征监控的代码复用攻击防御方法RCMon.该方法在分析代码复用攻击实现原理的基础上定义了描述程... 针对代码复用的攻击与防御已成为网络安全领域研究的热点,但当前的防御方法普遍存在防御类型单一、易被绕过等问题.为此,提出一种基于运行特征监控的代码复用攻击防御方法RCMon.该方法在分析代码复用攻击实现原理的基础上定义了描述程序正常运行过程的运行特征模型RCMod,并提出了验证程序当前运行状态是否满足RCMod约束规则的安全验证自动机模型.实现中,通过直接向目标程序中植入监控代码,使程序运行到监控节点时自动陷入,并由Hypervisor实现运行特征库的构建和安全验证.实验结果表明,RCMon能够有效地防御已知的绝大部分代码复用攻击,平均性能开销约为22%. 展开更多
关键词 代码复用攻击 运行特征 系统调用 插桩
在线阅读 下载PDF
基于代码防泄漏的代码复用攻击防御技术 被引量:5
4
作者 王烨 李清宝 +1 位作者 曾光裕 陈志锋 《计算机研究与发展》 EI CSCD 北大核心 2016年第10期2277-2287,共11页
随着地址空间布局随机化被广泛部署于操作系统上,传统的代码复用攻击受到了较好的抑制.但新型的代码复用攻击能通过信息泄露分析程序的内存布局而绕过地址空间布局随机化(address space layout randomization,ASLR),对程序安全造成了严... 随着地址空间布局随机化被广泛部署于操作系统上,传统的代码复用攻击受到了较好的抑制.但新型的代码复用攻击能通过信息泄露分析程序的内存布局而绕过地址空间布局随机化(address space layout randomization,ASLR),对程序安全造成了严重威胁.通过分析传统代码复用攻击和新型代码复用攻击的攻击本质,提出一种基于代码防泄漏的代码复用攻击防御方法 VXnR,并在Bitvisor虚拟化平台上实现了VXnR,该方法通过将目标进程的代码页设置可执行不可读(Execute-no-Read,XnR),使代码可以被处理器正常执行,但在读操作时根据被读物理页面的存储内容对读操作进行访问控制,从而阻止攻击者利用信息泄露漏洞恶意读进程代码页的方法搜索gadgets,实验结果表明:该方法既能防御传统的代码复用攻击,还能够防御新型的代码复用攻击,且性能开销在52.1%以内. 展开更多
关键词 地址空间布局随机化 代码复用攻击 程序安全 信息泄露 虚拟化
在线阅读 下载PDF
运行时代码随机化防御代码复用攻击 被引量:6
5
作者 张贵民 李清宝 +1 位作者 曾光裕 赵宇韬 《软件学报》 EI CSCD 北大核心 2019年第9期2772-2790,共19页
代码复用攻击日趋复杂,传统的代码随机化方法已无法提供足够的防护.为此,提出一种基于运行时代码随机化的代码复用攻击防御方法 LCR.该方法在目标程序正常运行时,实时监控攻击者企图获取或利用 gadgets 的行为,当发现监控的行为发生时,... 代码复用攻击日趋复杂,传统的代码随机化方法已无法提供足够的防护.为此,提出一种基于运行时代码随机化的代码复用攻击防御方法 LCR.该方法在目标程序正常运行时,实时监控攻击者企图获取或利用 gadgets 的行为,当发现监控的行为发生时,立即触发对代码进行函数块级的随机化变换,使攻击者最终获取或利用的 gadgets信息失效,从而阻止代码复用攻击的实现.设计实现了 LCR原型系统,并对提出的方法进行了测试.结果表明: LCR能够有效防御基于直接或间接内存泄漏等实现的代码复用攻击,且在 SPEC CPU2006 上的平均开销低于 5%. 展开更多
关键词 代码随机化 代码复用攻击 内存泄漏
在线阅读 下载PDF
面向开源代码复用的程序比对分析方法 被引量:2
6
作者 许福 郝亮 +2 位作者 陈飞翔 李冬梅 崔晓晖 《计算机工程》 CAS CSCD 北大核心 2020年第1期222-228,242,共8页
开源代码复用是重要的软件开发模式,但开源许可证侵权与代码同步更新是当前开源代码复用中的2个主要问题。利用代码快照间的高度相似性特点,设计一种代码仓库的高效增量分析方法,在此基础上,利用Simhash算法将函数代码映射成函数指纹,... 开源代码复用是重要的软件开发模式,但开源许可证侵权与代码同步更新是当前开源代码复用中的2个主要问题。利用代码快照间的高度相似性特点,设计一种代码仓库的高效增量分析方法,在此基础上,利用Simhash算法将函数代码映射成函数指纹,提出以函数为基本分析单元的工程相似度计算方法,从而降低分析结果的存储空间并提高代码比对速度。设计3组实验分别从代码分析效率、工程相似度判定和函数更新检测方面进行评估,结果表明,该方法能满足开源代码复用中相似度检测和代码溯源的需求,且能够有效缩短总体分析时间。 展开更多
关键词 开源软件 代码复用 增量分析 程序比对 代码溯源
在线阅读 下载PDF
利用返回地址保护机制防御代码复用类攻击 被引量:2
7
作者 陈林博 江建慧 张丹青 《计算机科学》 CSCD 北大核心 2013年第9期93-98,102,共7页
尽管现有多种防御方法和技术,但是针对软件系统和网络的攻击仍然是难以防范的威胁。在引入只读/写和地址空间随机化排列方法后,现代操作系统能有效地应对恶意代码注入类型的攻击。但是攻击者可以利用程序中已经存在的代码,将其组装成具... 尽管现有多种防御方法和技术,但是针对软件系统和网络的攻击仍然是难以防范的威胁。在引入只读/写和地址空间随机化排列方法后,现代操作系统能有效地应对恶意代码注入类型的攻击。但是攻击者可以利用程序中已经存在的代码,将其组装成具有图灵完全计算功能的连续的代码块,用以绕过已有的防御机制。针对代码复用类攻击防御方法的局限性,提出了一种利用返回地址实时保护机制的防御方法,以有效防御代码复用类攻击,特别是ROP攻击。在程序运行时,通过对其栈中返回地址值的加密保护和实时检测,防止所有的以0xC3字符(即ret指令)结尾的短序列代码段的连续执行。该方法不需要源代码和调试信息,能完全防御ROP攻击,并且其性能开销也具有明显的优势。 展开更多
关键词 代码复用类攻击 ROP攻击 返回地址保护 二进制代码动态翻译
在线阅读 下载PDF
基于漏洞指纹的软件脆弱性代码复用检测方法 被引量:5
8
作者 刘臻 武泽慧 +1 位作者 曹琰 魏强 《浙江大学学报(工学版)》 EI CAS CSCD 北大核心 2018年第11期2180-2190,共11页
针对传统脆弱性代码复用检测技术漏报率高的问题,提出基于漏洞指纹的检测方法.分析开源项目漏洞补丁的结构与脆弱性代码特征,总结代码复用过程中常见修改手段的特点,设计基于哈希值的漏洞指纹模型.开展代码预处理消除无关因素的影响,选... 针对传统脆弱性代码复用检测技术漏报率高的问题,提出基于漏洞指纹的检测方法.分析开源项目漏洞补丁的结构与脆弱性代码特征,总结代码复用过程中常见修改手段的特点,设计基于哈希值的漏洞指纹模型.开展代码预处理消除无关因素的影响,选取固定行数的代码块作为特征抽象粒度,利用哈希算法抽取关键代码特征.通过搜集开源项目漏洞信息与相关代码片段构建漏洞样本库,利用基于LCS的相似性评估算法定位漏洞样本的复用并且标记为敏感代码,使用漏洞指纹进行检测并根据识别策略完成对脆弱性代码的判定.实验结果表明,基于漏洞指纹的检测方法能够有效地应对多种代码修改手段的影响,明显提高检测效率,检测时间与输入代码量呈线性增长关系. 展开更多
关键词 软件脆弱性检测 脆弱性代码 漏洞指纹 代码复用 相似性评估
在线阅读 下载PDF
基于硬件的代码复用攻击防御机制综述 被引量:1
9
作者 张军 侯锐 +3 位作者 詹志远 张立新 陈明宇 孟丹 《高技术通讯》 EI CAS 北大核心 2018年第4期299-312,共14页
给出了代码复用攻击挟持控制流的过程,介绍了代码复用攻击防御机制研究现状。重点论述了基于硬件的防御机制,包括基于硬件的存储安全、代码指针完整性、攻击特征检查、控制流完整性、数据执行保护与隔离技术。讨论了基于硬件的防御机制... 给出了代码复用攻击挟持控制流的过程,介绍了代码复用攻击防御机制研究现状。重点论述了基于硬件的防御机制,包括基于硬件的存储安全、代码指针完整性、攻击特征检查、控制流完整性、数据执行保护与隔离技术。讨论了基于硬件的防御机制存在的问题、优势及硬件与软件的关系。展望了基于硬件的代码复用攻击防御机制的发展方向:基于硬件的代码指针完整性有望成为防止控制流挟持攻击的有效手段,针对非控制数据的攻击与防御有可能成为新的研究热点,支持可配置的硬件防御架构是硬件防御的重要趋势之一。 展开更多
关键词 控制流挟持 存储错误 代码复用攻击 存储安全 代码指针完整性 控制流完整性(CFI) 数据执行保护(DEP) 隔离技术
在线阅读 下载PDF
适用于面向对象范型的代码复用技术
10
作者 李葆华 霍有亮 《西北大学学报(自然科学版)》 CAS CSCD 北大核心 2000年第1期20-23,共4页
以支持结构化编程、数据抽象和面向对象编程的 C+ +语言为重点 ,利用面向对象范型 ,选用、派生、新设计程序中需要的类对象 ,讨论了其所支持的 4种代码复用技术 ,表明 C+ +存在多层次的代码复用及支持构造可复用模块技术 。
关键词 代码复用 转寄 委派 软件复用 面向对象范型
在线阅读 下载PDF
基于代码克隆差异分析的函数模板挖掘和检索方法
11
作者 肖泉彬 陈源 +1 位作者 吴毅坚 彭鑫 《软件学报》 北大核心 2025年第6期2774-2793,共20页
在软件工程领域,代码库承载着丰富的知识资源,可以为开发者提供编程实践的案例参考.源代码中频繁出现的模式化重复片段,若能以代码模板的形式有效提炼,就能显著提升编程效率.当前实践中,开发者常常通过源代码搜索复用现有解决方案,然而... 在软件工程领域,代码库承载着丰富的知识资源,可以为开发者提供编程实践的案例参考.源代码中频繁出现的模式化重复片段,若能以代码模板的形式有效提炼,就能显著提升编程效率.当前实践中,开发者常常通过源代码搜索复用现有解决方案,然而此方法往往产生大量相似且冗余的结果,增加了后续筛选工作的负担.与此同时,以克隆代码为基础的模板挖掘技术往往未能涵盖由分散小克隆片段构成的广泛模式,进而限制了模板的实用性.提出了一种基于代码克隆检测的代码模板提取和检索方法,通过拼接多个片段级克隆以及提取和聚合方法级克隆的共享部分,实现了更高效的函数级代码模板提取,并解决了模板质量问题.基于所挖掘的代码模板,提出了一种代码结构特征的三元组表示法,有效地对纯文本特征进行补充,并实现了高效而简洁的结构表示.此外,提出了一种结构和文本检索相结合的模板特征检索方法,以便通过匹配编程上下文的特征来检索这些模板.基于该方法实现的工具CodeSculptor,在包含45个高质量Java开源项目的代码库测试中展现了其提取高质量代码模板的显著能力.结果表明,该工具挖掘的模板平均可实现减少60.87%的代码量,且有92.09%是通过拼接片段级克隆产生的,这一比例的模板在传统方法中是无法识别出来的,这印证了该方法在识别和构建代码模板方面的卓越性能.在代码模板检索和推荐的实验中,Top-5检索结果精确度达到了96.87%.通过对随机选择的9600个模板进行的初步案例研究,讨论了模板的实用性,并发现大多数抽样代码模板在语义上是完整的,少数无意义的模板表明该模板提取工作未来的潜力.用户研究进一步表明,使用CodeSculptor能够更有效率地完成代码开发任务. 展开更多
关键词 克隆检测 代码检索 特征表示 软件开发 代码复用
在线阅读 下载PDF
基于复用代码检测的缺陷发现方法 被引量:4
12
作者 常超 刘克胜 +1 位作者 赵军 黄宁 《系统工程与电子技术》 EI CSCD 北大核心 2017年第9期2157-2164,共8页
软件开发中,因代码复用导致复用缺陷的现象时常发生,针对此提出一种基于代码复用检测的缺陷发现方法。首先通过代码比对或补丁还原的方式定位缺陷相关的代码,将缺陷代码和待测代码以函数为单位进行划分,提取并量化各函数的度量特征、结... 软件开发中,因代码复用导致复用缺陷的现象时常发生,针对此提出一种基于代码复用检测的缺陷发现方法。首先通过代码比对或补丁还原的方式定位缺陷相关的代码,将缺陷代码和待测代码以函数为单位进行划分,提取并量化各函数的度量特征、结构特征和文本特征,采用递进式相似函数逐轮筛选的方式,确定可能存在复用缺陷的函数,并基于模型检测和数据流分析技术对疑似缺陷进一步判断。实验选取典型开源项目进行测试,发现了多处潜在的复用缺陷,结果证明了所提方法的有效性,同时发现每个缺陷平均要对2~5个可能的复用点进行判断。 展开更多
关键词 代码复用 复用缺陷检测 特征量化 相似函数筛选
在线阅读 下载PDF
用代码缓存复用技术提升Android即时编译器效率 被引量:1
13
作者 周波 张源 +1 位作者 杨珉 周曦 《小型微型计算机系统》 CSCD 北大核心 2013年第6期1307-1312,共6页
选择性编译能降低程序编译开销和生成代码的存储空间需求,但面临热方法检测延时和编译延时问题.现有降低这些延时的方法因需要复杂数据结构、算法或特殊硬件的支持而不适合嵌入式虚拟机平台.针对嵌入式平台,提出使用将可执行代码缓存至... 选择性编译能降低程序编译开销和生成代码的存储空间需求,但面临热方法检测延时和编译延时问题.现有降低这些延时的方法因需要复杂数据结构、算法或特殊硬件的支持而不适合嵌入式虚拟机平台.针对嵌入式平台,提出使用将可执行代码缓存至文件并按需复用的方法来降低这两种延时.为此,本文以Android系统虚拟机的即时编译器为基础,设计实现了轻量级的CCARF(Code Cache and Reuse Framework).CCARF为即时编译器设计了位置无关代码生成算法,使编译生成的代码不含位置依赖信息,从而保证代码可被正确复用;基于该算法,CCARF实现了一个代码管理器,高效地将位置无关代码缓存并复用.SPECjvm98基准测试集的测试结果表明,CCARF能在控制生成代码增长的前提下,平均提升基准测试程序性能约11%. 展开更多
关键词 即时编译器 检测延时 编译延时 DALVIK虚拟机 JIT代码缓存 JIT代码复用
在线阅读 下载PDF
ASP.NET的可复用代码 被引量:4
14
作者 段美英 鲁绍坤 +1 位作者 邱苑梅 许亮 《云南农业大学学报》 CAS CSCD 2004年第5期600-603,共4页
ASP.NET的可复用代码用于构建动态网页。介绍了ASP.NET的可复用代码,阐述了ASP.NET的4种可复用代码方式,包括它们的定义、如何创建可复用代码和如何运用它们,从不同角度对4种可复用代码方式进行了比较,示例说明了用可复用代码构建ASP.NE... ASP.NET的可复用代码用于构建动态网页。介绍了ASP.NET的可复用代码,阐述了ASP.NET的4种可复用代码方式,包括它们的定义、如何创建可复用代码和如何运用它们,从不同角度对4种可复用代码方式进行了比较,示例说明了用可复用代码构建ASP.NET应用程序。ASP.NET的4种可复用代码协同工作,使编程模块化,降低了复杂性,保证了应用程序的质量和可维护性。 展开更多
关键词 ASP.NET 复用代码 用户控件 后台编码 .NET程序集 定制控件
在线阅读 下载PDF
一种基于风险代码抽取的控制流保护方法
15
作者 李勇钢 钟叶青 +2 位作者 郑伊健 林果园 鲍宇 《计算机学报》 EI CAS CSCD 北大核心 2024年第6期1372-1392,共21页
代码复用攻击是控制流安全面临的主要威胁之一.虽然地址分布随机化能够缓解该攻击,但它们很容易被代码探测技术绕过.相比之下,控制流完整性方法具有更好的保护效果.但是,现有的方法要么依赖于源码分析,要么采用无差别跟踪的方式追踪所... 代码复用攻击是控制流安全面临的主要威胁之一.虽然地址分布随机化能够缓解该攻击,但它们很容易被代码探测技术绕过.相比之下,控制流完整性方法具有更好的保护效果.但是,现有的方法要么依赖于源码分析,要么采用无差别跟踪的方式追踪所有的控制流转移.前者无法摆脱对源码的依赖性,后者则会引入巨大的运行时开销.针对上述问题,本文提出一种新的控制流保护方法MCE(Micro Code Extraction).MCE的保护目标是源码不可用的闭源对象.与现有的方法相比,MCE并不会盲目地追踪所有的控制流转移活动.它实时地检测代码探测活动,并仅将被探测的代码作为保护目标.之后,MCE抽取具有潜在风险的代码片段,以进一步缩小目标对象的大小.最后,所有跳转到风险代码中的控制流都会被追踪和检测,以保护它的合法性.实验和分析表明,MCE对代码探测和代码复用攻击具有良好的保护效果,并在一般场景下仅对CPU引入2%的开销. 展开更多
关键词 代码探测 代码复用攻击 控制流劫持 代码抽取 内存访问控制
在线阅读 下载PDF
基于simhash与倒排索引的复用代码快速溯源方法 被引量:9
16
作者 乔延臣 云晓春 +1 位作者 庹宇鹏 张永铮 《通信学报》 EI CSCD 北大核心 2016年第11期104-113,共10页
提出了一种新颖的复用代码精确快速溯源方法。该方法以函数为单位,基于simhash与倒排索引技术,能在海量代码中快速溯源相似函数。首先基于simhash利用海量样本构建具有三级倒排索引结构的代码库。对于待溯源函数,依据函数中代码块的simh... 提出了一种新颖的复用代码精确快速溯源方法。该方法以函数为单位,基于simhash与倒排索引技术,能在海量代码中快速溯源相似函数。首先基于simhash利用海量样本构建具有三级倒排索引结构的代码库。对于待溯源函数,依据函数中代码块的simhash值快速发现相似代码块,继而倒排索引潜在相似函数,依据代码块跳转关系精确判定是否相似,并溯源至所在样本。实验结果表明,该方法在保证高准确率与召回率的前提下,基于代码库能快速识别样本中的编译器插入函数与复用函数。 展开更多
关键词 网络安全 复用代码 快速溯源 同源判定 恶意代码
在线阅读 下载PDF
基于多特征权重分配的源代码搜索优化 被引量:6
17
作者 李阵 钮俊 +1 位作者 王奎 辛园园 《计算机应用》 CSCD 北大核心 2018年第3期812-817,共6页
对开源代码进行准确搜索是实现代码复用的前提。在基于关键字搜索的研究中,目前只关注匹配方法签名。结合源代码注释对方法功能的语义描述,提出结合代码注释的关键字搜索方法。通过生成源代码抽象语法树,从中识别方法签名与各类型注释... 对开源代码进行准确搜索是实现代码复用的前提。在基于关键字搜索的研究中,目前只关注匹配方法签名。结合源代码注释对方法功能的语义描述,提出结合代码注释的关键字搜索方法。通过生成源代码抽象语法树,从中识别方法签名与各类型注释等组合代码特征;将代码特征与查询语句分别用向量表示,并计算向量间的余弦相似度,然后制定针对搜索结果多特征权重分配的评分机制。根据评分对搜索结果进行排序,得到与查询语句相关的结果序列。实验结果表明,多个代码特征在不同权重影响下可以提升源代码搜索准确度。 展开更多
关键词 代码复用 代码注释 方法签名 抽象语法树 代码特征
在线阅读 下载PDF
大粒度可复用MIS组件与通用MIS引擎 被引量:3
18
作者 罗军 乔旭峰 《计算机科学》 CSCD 北大核心 2005年第6期214-216,227,共4页
根据复用粒度的大小,可将软件复用技术分为代码复用、功能复用和应用复用3个层次。解决现今MIS应用开发所面临的困境,不仅需要深刻理解MIS应用的本质,也需要利用软件复用这项非常有效的技术。本文基于信息群的理论,介绍了如何实现数据... 根据复用粒度的大小,可将软件复用技术分为代码复用、功能复用和应用复用3个层次。解决现今MIS应用开发所面临的困境,不仅需要深刻理解MIS应用的本质,也需要利用软件复用这项非常有效的技术。本文基于信息群的理论,介绍了如何实现数据库结构的复用,在此基础上,我们成功构建了一个通用MIS引擎。利用通用MIS引擎,开发人员可以方便地定制出所需的MIS应用。这样得到的MIS系统是廉价的、高质量的、灵活的和易于部署的。 展开更多
关键词 引擎 通用 复用 大粒度 组件 软件复用技术 数据库结构 MIS系统 代码复用 应用开发 定制
在线阅读 下载PDF
基于语法和语义结合的源代码精确搜索方法 被引量:5
19
作者 顾逸圣 曾国荪 《计算机应用》 CSCD 北大核心 2017年第10期2958-2963,共6页
针对在编写软件、复用源代码的过程中仅依靠关键词无法精准搜索到适用源代码的问题,提出一种将语法和语义结合的源代码精准搜索方法。首先依据源代码语法语义的客观和唯一性,增加语法结构和"输入/输出"语义作为用户录入请求... 针对在编写软件、复用源代码的过程中仅依靠关键词无法精准搜索到适用源代码的问题,提出一种将语法和语义结合的源代码精准搜索方法。首先依据源代码语法语义的客观和唯一性,增加语法结构和"输入/输出"语义作为用户录入请求的一部分,并规范了具体的请求格式;然后在此基础上分别设计源代码语法匹配算法、"输入/输出"语义匹配算法、关键词兼容匹配,以及源代码搜索结果可信度计算算法;最后综合上述算法实现对源代码的精准搜索。测试结果表明:与单纯的关键词搜索相比,提出的方法对搜索的平均排序倒数(MRR)有超过62%的提升,有助于实现源代码的精准搜索。 展开更多
关键词 软件编写 代码复用 语法语义 匹配搜索
在线阅读 下载PDF
基于Petri网可达分析的代码搜索方法 被引量:1
20
作者 丁雪儿 钮俊 +1 位作者 张开乐 毛昕怡 《计算机研究与发展》 EI CSCD 北大核心 2022年第1期236-250,共15页
复用已有高质量源代码可提高软件开发效率及软件质量.当前,基于用户提供的输入输出对的匹配判断是代码语义搜索的主要方法之一,但该方法难以刻画完整代码行为,且仅能处理单输入类型.提出一种针对多种形式类型匹配的代码语义搜索方法.首... 复用已有高质量源代码可提高软件开发效率及软件质量.当前,基于用户提供的输入输出对的匹配判断是代码语义搜索的主要方法之一,但该方法难以刻画完整代码行为,且仅能处理单输入类型.提出一种针对多种形式类型匹配的代码语义搜索方法.首先将代码集内各个代码片段中数据对象个数及类型的加工过程转换为Petri网模型;其次根据用户查询中蕴含的数据类型及个数、输出数据类型等约束来构造Petri网初始标识和目标标识;然后在Petri网中通过可达图及诱发网分析判断是否存在相应的可达路径,从而获得代码匹配依据.分析及实验表明,该方法能有效实现多种形式的输入输出类型匹配的代码搜索,且相对于传统类型匹配方法,能明显提高搜索准确度和效率. 展开更多
关键词 代码复用 语义搜索 类型匹配 PETRI网模型 可达分析
在线阅读 下载PDF
上一页 1 2 下一页 到第
使用帮助 返回顶部