一种程序错误自动修正方法、装置、电子设备及存储介质

    公开(公告)号:CN109408114A

    公开(公告)日:2019-03-01

    申请号:CN201810950683.5

    申请日:2018-08-20

    Abstract: 本发明提供了一种程序错误自动修正方法、装置、电子设备及存储介质,方法包括:S1、根据待进行修正的学生程序从预先设定的多个模板程序获取与学生程序最为匹配的模板程序作为示例程序;S2、根据学生程序以及示例程序进行语法树匹配,获取两个程序中语法结构相似节点和语法结构不同节点;S3、获取两个程序相同功能变量的映射表;S4、生成第一代变异体种群;S5、根据测试通过次数以及和示例程序的相似度计算变异体的适应度;S6、采用交叉和变异操作生成新一代变异体种群;S7、循环执行S5和S6直到有变异体可以通过所有规定的测试用例或达到预设迭代次数,将适应度最高的变异体作为学生程序的修正程序以及其对应的编辑序列的操作作为修正方案输出。

    一种使用逆向扩展控制流图的静态函数识别方法

    公开(公告)号:CN103440122B

    公开(公告)日:2016-06-08

    申请号:CN201310291941.0

    申请日:2013-07-12

    Abstract: 一种使用逆向扩展控制流图的静态函数识别方法,属于软件逆向工程领域。所述方法包括如下步骤:步骤1:建立区域逆向扩展控制流图的集合;步骤2:对逆向扩展控制流图去噪,删除构建过程中搜索出的非编译器能生成的节点;步骤3:删除和合并逆向扩展控制流图;步骤4:在逆向扩展控制流图中识别函数入口;步骤5:得到指定区域中多个函数的识别结果。与传统方法不同,本发明以函数的返回指令作为识别特征,以函数返回指令节点作为逆向搜索起点构建逆向扩展控制流图,能够在指定二进制代码区域中识别多个函数,并且能够有效识别传统静态识别方法无法识别的无特定头字节特征及无交叉引用的函数。

    一种基于程序源代码语义分析的代码相似度检测方法

    公开(公告)号:CN101697121A

    公开(公告)日:2010-04-21

    申请号:CN200910073094.4

    申请日:2009-10-26

    Abstract: 一种基于程序源代码语义分析的代码相似度检测方法,涉及计算机程序分析技术和计算机软件的重复代码检测方法。它解决了现有的对语法表示不同但语义相似的代码的相似度检测准确度低、计算复杂度高,以及无法实现大规模程序代码相似度检测的问题。它的方法为:分别将待检测的两段源代码解析为两棵系统依赖图的控制依赖树,并分别执行基本代码标准化;利用度量值方法提取两棵基本代码标准化后的控制依赖树的候选相似代码控制依赖树;对提取的候选相似代码执行高级代码标准化操作;计算语义相似度,获得相似度结果,完成代码相似度检测;本发明适用于源代码剽窃检测、软件组件库查询、软件缺陷检测以及程序理解等场合。

Patent Agency Ranking