-
公开(公告)号:CN118567623A
公开(公告)日:2024-08-30
申请号:CN202410647103.0
申请日:2024-05-23
Applicant: 北京大学
IPC: G06F8/30 , G06F40/216 , G06F40/242 , G06N20/00
Abstract: 本发明涉及一种基于缩写词的长方法名自动缩略方法和系统。该方法包括:基于上下文对长方法名进行缩略;构建概率化缩写词词典,基于概率化缩写词词典对基于上下文进行缩略后的长方法名进行缩略;构建基于机器学习的长方法名自动缩略模型,利用基于机器学习的长方法名自动缩略模型对基于概率化缩写词词典进行缩略后的长方法名进行缩略。本发明能够有效地进行长方法名自动缩略,能够显著提高长方法名缩略的准确性。
-
公开(公告)号:CN107203469B
公开(公告)日:2020-04-03
申请号:CN201710292927.0
申请日:2017-04-28
Applicant: 北京大学
IPC: G06F11/36
Abstract: 本发明公布了一种编译器测试加速方法,采用机器学习方法构造用于预测测试程序触发缺陷的概率的能力模型和用于预测每个测试程序的执行时间的时间模型,通过计算每个测试程序单位时间内触发缺陷的概率,实现对测试程序的排序,从而实现编译器测试加速;包括学习阶段和调度阶段;学习阶段包括识别特征过程、训练能力模型过程和训练时间模型过程;调度阶段,基于所述学习阶段得到的能力模型和时间模型,得到新的测试程序的执行顺序。通过本发明,测试人员可在执行测试程序之前,事先对测试程序进行排序,使得更有可能触发缺陷的测试程序被优先执行,从而实现编译器测试加速。
-
公开(公告)号:CN101833508B
公开(公告)日:2012-06-13
申请号:CN201010165343.5
申请日:2010-05-07
Applicant: 北京大学
IPC: G06F11/36
Abstract: 本发明提供了一种基于执行序列的JUnit测试用例化简方法,属于软件测试中的测试用例化简技术领域。本发明提出了一种k-序列的表示方法来描述每条JUnit测试用例,用以体现每条JUnit测试用例对方法的调用顺序,并将所有JUnit测试用例包含的方法调用序列作为化简前后需要保持不变的条件,对JUnit测试用例集合进行化简,从而保证化简后的测试用例集合可以揭示源于单个方法调用不当和源于多个方法调用顺序不当的错误。本发明提出的测试用例化简技术可以提高化简后测试用例集合的揭错能力,减少测试用例化简过程造成的测试效果损失。
-
公开(公告)号:CN118708186A
公开(公告)日:2024-09-27
申请号:CN202410809843.X
申请日:2024-06-21
Applicant: 北京大学
Abstract: 本发明属于信息技术领域,涉及一种结合神经网络预测与搜索算法的自动化编译错误修复方法和系统。该方法包括:对带有编译错误的程序进行预处理,生成标记化和抽象化的程序;采用编码器对标记化和抽象化的程序进行处理以生成向量序列,其中的每个向量代表程序中的一个标记;根据生成的向量序列,使用预测头预测插入操作符、删除操作符和替换操作符的分数;根据预测的分数,构建加权修改图;根据加权修改图,调用搜索算法获得修复结果。本发明能够限制和引导搜索算法,能够生成更高质量的修复程序。
-
公开(公告)号:CN115934147A
公开(公告)日:2023-04-07
申请号:CN202110904041.3
申请日:2021-08-06
Applicant: 中兴通讯股份有限公司 , 北京大学
Abstract: 本发明实施例涉及计算机领域,公开了一种软件自动修复方法、系统、电子设备及存储介质。本发明中,软件自动修复方法包括:获取软件缺陷代码;根据软件缺陷代码的语法特征和训练好的补丁模板生成模型,生成符合软件缺陷代码所使用语言的语法的补丁模板;填充补丁模板,生成软件缺陷代码的补丁;用补丁修复软件缺陷代码。本发明的软件自动修复方法,能够针对不同程序开发语言的缺陷代码生成适配性高的补丁,提高软件自动修复的修复能力。
-
公开(公告)号:CN109376080B
公开(公告)日:2021-10-01
申请号:CN201811128264.X
申请日:2018-09-27
Applicant: 北京大学
IPC: G06F11/36
Abstract: 本发明提供一种时间适配的自动化缺陷定位方法和装置,其能使软件行业从业人员在程序调试实际工作中进行更高效的缺陷定位并提高定位精准度。本发明的时间适配的自动化缺陷定位方法包括:测量选定的不同现有自动化缺陷定位方法的执行时间,并按照执行时间将这些选定的方法划分为由快至慢的不同级别;执行最快级别方法的组合,或者慢级别方法与较其快速的各级别方法的组合,分别对各组合的输出结果进行分数归一化处理,然后进行训练以建立各组合的排序学习模型;在具体程序调试场景中,依次执行由快至慢的各级别选定的方法,当软件开发和维护人员请求缺陷定位结果时,根据当前执行完毕的级别,使用各组合的排序学习模型自动综合结果分数并进行排序。
-
公开(公告)号:CN111290946B
公开(公告)日:2021-04-20
申请号:CN202010056313.4
申请日:2020-01-18
Applicant: 北京大学
IPC: G06F11/36
Abstract: 本发明涉及一种基于原子状态函数的浮点数误差检测方法和装置。本发明对源代码或程序进行插桩以获取程序运行时的内部状态;通过程序运行时的内部状态,计算每个浮点数运算的原子状态函数,挖掘原子状态函数与浮点数误差的内在联系,推断出原子状态函数与误差的强关联性;构建搜索框架,利用搜索算法得到会触发高危原子状态函数的测试用例集合;该测试用例集合即为揭错率高,会触发显著浮点数误差的输入。由于计算原子状态函数不需要引入高精度浮点数,不依赖于测试预言,使得本发明不依赖于测试预言,并且揭错率高,运行开销小,不依赖于高精度浮点数,运行时间快。
-
公开(公告)号:CN109376080A
公开(公告)日:2019-02-22
申请号:CN201811128264.X
申请日:2018-09-27
Applicant: 北京大学
IPC: G06F11/36
Abstract: 本发明提供一种时间适配的自动化缺陷定位方法和装置,其能使软件行业从业人员在程序调试实际工作中进行更高效的缺陷定位并提高定位精准度。本发明的时间适配的自动化缺陷定位方法包括:测量选定的不同现有自动化缺陷定位方法的执行时间,并按照执行时间将这些选定的方法划分为由快至慢的不同级别;执行最快级别方法的组合,或者慢级别方法与较其快速的各级别方法的组合,分别对各组合的输出结果进行分数归一化处理,然后进行训练以建立各组合的排序学习模型;在具体程序调试场景中,依次执行由快至慢的各级别选定的方法,当软件开发和维护人员请求缺陷定位结果时,根据当前执行完毕的级别,使用各组合的排序学习模型自动综合结果分数并进行排序。
-
-
公开(公告)号:CN105335246A
公开(公告)日:2016-02-17
申请号:CN201510708750.9
申请日:2015-10-27
Applicant: 北京大学
CPC classification number: G06F11/0793 , G06F11/3612
Abstract: 本发明涉及计算机软件技术领域,公开了一种基于问答网站分析的程序崩溃缺陷自动修复方法,包括:根据程序发生崩溃时的崩溃踪迹,获取多个相关网页;其中,所述相关网页中包含描述所述崩溃的缺陷代码以及修复所述崩溃的修复代码;在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段;根据所述缺陷代码片段以及修复代码片段生成用于修复所述崩溃的编辑脚本;根据所述崩溃踪迹以及缺陷代码,确定所述程序源代码中有错误代码的位置,应用所述编辑脚本修复所述错误代码。本发明可根据崩溃踪迹在相关网页上自动搜索修复方案,并生成相应的编辑脚本对崩溃进行修复,摆脱了在修复过程中对操作人员的依赖,实现自动修复,且修复精度较高。
-
-
-
-
-
-
-
-
-