当前位置:主页 > 科技论文 > 自动化论文 >

基于深度学习模型的软件功能型克隆检测

发布时间:2020-12-13 10:10
  软件克隆检测致力于找出两段功能相似的代码段,其对软件系统的维护和发展起着非常重要的作用。目前该领域存在很多研究试图有效检测软件克隆,他们多是基于代码段的文本或结构信息,手工提取代码段包含这些信息的特征。这种做法使其无法有效检测出软件功能型克隆,即只有功能相似而在句法和语法层面可能有很大差别的代码段。本文针对目前方法无法有效检测软件功能型克隆的现状,提出基于深度学习模型和监督信息的软件功能型克隆检测方法。本文首先将软件克隆检测问题形式化为一个监督学习问题,提出一个端到端的深度学习框架CDLH。CDLH利用训练集中代码段的监督信息指导深度学习模型,并根据编程语言的特点设计深度模型,使深度模型学习出的深度监督特征不仅包含代码段的句法和语法信息,同时包含了其功能信息。在真实数据集上的实验结果表明,所提方法能够有效地检测出功能型克隆。使用监督信息指导特征学习能学得包含代码段功能特点的特征,但在真实场景中进行软件克隆的标记时,领域专家一般只标记他们恰好发现的克隆对,而有大部分的未被发现的克隆对和非克隆对未被标记。因此本文提出在弱标记场景下的软件克隆检测问题应该被形式化为一个从只有正标记数据和无标记... 

【文章来源】:南京大学江苏省 211工程院校 985工程院校 教育部直属院校

【文章页数】:70 页

【学位级别】:硕士

【图文】:

基于深度学习模型的软件功能型克隆检测


图2-1:数据集BigCloneBench的标注过程

架构图,架构,代码段,哈希


flll辦轉BBM徽麵■涵V?-1??[.…會圈??嘗—)??I?.;:咕希病数¥3?岭希由敢3!??!_t_?■■丨■會:??t?mtm? ̄??i?/Tm\?n撕―!?/舒杣\?丨4奸:提取w??!?/?KHi/jfk?\??峰?參教共享?岭?/?fti/itt*?\?i??I?<V?W的)料势致共李—\?7?I??'?\LSTM?/?\?LSTM,?!??、、、-.-t.-????f--.y?1??■?■?输入??|代码段1?]?段2?I?.??图3-1:?CDLH的总体架构。??使得属于一个克隆对的代码段其哈希码之间的海明距离应尽可能近,非克隆对??的哈希码之间的海明距离应尽可能远。这两部分融合到一个整体的框架中,端??到端地学习将原始代码段映射到表示其是否克隆对的标记上。??具体来说,CDLH会同时学习两个函数映射:表征提取层的映射和哈希函??数的映射。为了让克隆对的哈希码尽可能相似,非克隆对的哈希码尽可能不相??似,类似[67]定义优化函数如下:??n?n?1?m??^.yl?pi.y?- ̄Y^hk?hk?(^(cy))???0-?)??’?i=l?j=l?k=l??这里我们用简单的线性函数作为哈希函数,即M火C,.))?=?signKWCf)+&)。??其中以是偏置项,???,!〇,?,/^,…人}。但由于sign函数不容易优??化,因此我们按照一般哈希学习〖67,681的做法,在优化过程中优化/^M(C,_))?=??+?&这一项。注意这里对每一对代码段我们都乘了?b^|这一项。??这是因为数据中不是所有的代码段都有标记,对那些没有标记的代码段如??果也对它们

抽象语法,示例


3.3基于监督学习的软件克隆检测?23??statement??sequence??while?return??condition,^^?V??compare?\?variable??op:?^?\b〇dy?name:?a??/fv?V??variable?constant??name:?b?value:?0?ranch??compare?assign?assign??variable?variable?variable?bin?op?variable?bin?op??name:?a?name:?b?name:?a?op:?-?name:?b?op:—??/v??variable?variable?variable?variable??name:?a?name:?b?name:?b?name:?a??图3?-2:抽象语法树示例图。??象语法树形成中间代码作为输出,以供后端继续处理。正因为抽象语法树能做??到不依赖于语言的细节,其才能作为各种编程语言的代码输出。抽象语法树的??这两大特点使其成为程序编译和分析理解过程中重要的组成部分。??我们来看一段基础代码对应的抽象语法树实例,以此了解抽象语法树如何??表示程序语法结构。如图3-2即是如下代码的抽象语法树:??while?(b?!=?0)?{??if?(a?>?b)??a?=?a?-?b;??else??b?=?b?-?a??}??return?a;??


本文编号:2914377

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/zidonghuakongzhilunwen/2914377.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户ed28b***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com