一种基于缩写词的长方法名自动缩略方法和系统

    公开(公告)号:CN118567623A

    公开(公告)日:2024-08-30

    申请号:CN202410647103.0

    申请日:2024-05-23

    Applicant: 北京大学

    Inventor: 姜艳杰 张路

    Abstract: 本发明涉及一种基于缩写词的长方法名自动缩略方法和系统。该方法包括:基于上下文对长方法名进行缩略;构建概率化缩写词词典,基于概率化缩写词词典对基于上下文进行缩略后的长方法名进行缩略;构建基于机器学习的长方法名自动缩略模型,利用基于机器学习的长方法名自动缩略模型对基于概率化缩写词词典进行缩略后的长方法名进行缩略。本发明能够有效地进行长方法名自动缩略,能够显著提高长方法名缩略的准确性。

    基于机器学习的编译器测试加速方法

    公开(公告)号:CN107203469B

    公开(公告)日:2020-04-03

    申请号:CN201710292927.0

    申请日:2017-04-28

    Applicant: 北京大学

    Abstract: 本发明公布了一种编译器测试加速方法,采用机器学习方法构造用于预测测试程序触发缺陷的概率的能力模型和用于预测每个测试程序的执行时间的时间模型,通过计算每个测试程序单位时间内触发缺陷的概率,实现对测试程序的排序,从而实现编译器测试加速;包括学习阶段和调度阶段;学习阶段包括识别特征过程、训练能力模型过程和训练时间模型过程;调度阶段,基于所述学习阶段得到的能力模型和时间模型,得到新的测试程序的执行顺序。通过本发明,测试人员可在执行测试程序之前,事先对测试程序进行排序,使得更有可能触发缺陷的测试程序被优先执行,从而实现编译器测试加速。

    基于执行序列的JUnit测试用例化简方法

    公开(公告)号:CN101833508B

    公开(公告)日:2012-06-13

    申请号:CN201010165343.5

    申请日:2010-05-07

    Applicant: 北京大学

    Abstract: 本发明提供了一种基于执行序列的JUnit测试用例化简方法,属于软件测试中的测试用例化简技术领域。本发明提出了一种k-序列的表示方法来描述每条JUnit测试用例,用以体现每条JUnit测试用例对方法的调用顺序,并将所有JUnit测试用例包含的方法调用序列作为化简前后需要保持不变的条件,对JUnit测试用例集合进行化简,从而保证化简后的测试用例集合可以揭示源于单个方法调用不当和源于多个方法调用顺序不当的错误。本发明提出的测试用例化简技术可以提高化简后测试用例集合的揭错能力,减少测试用例化简过程造成的测试效果损失。

    时间适配的自动化缺陷定位方法和装置

    公开(公告)号:CN109376080B

    公开(公告)日:2021-10-01

    申请号:CN201811128264.X

    申请日:2018-09-27

    Applicant: 北京大学

    Abstract: 本发明提供一种时间适配的自动化缺陷定位方法和装置,其能使软件行业从业人员在程序调试实际工作中进行更高效的缺陷定位并提高定位精准度。本发明的时间适配的自动化缺陷定位方法包括:测量选定的不同现有自动化缺陷定位方法的执行时间,并按照执行时间将这些选定的方法划分为由快至慢的不同级别;执行最快级别方法的组合,或者慢级别方法与较其快速的各级别方法的组合,分别对各组合的输出结果进行分数归一化处理,然后进行训练以建立各组合的排序学习模型;在具体程序调试场景中,依次执行由快至慢的各级别选定的方法,当软件开发和维护人员请求缺陷定位结果时,根据当前执行完毕的级别,使用各组合的排序学习模型自动综合结果分数并进行排序。

    基于原子状态函数的浮点数误差检测方法和装置

    公开(公告)号:CN111290946B

    公开(公告)日:2021-04-20

    申请号:CN202010056313.4

    申请日:2020-01-18

    Applicant: 北京大学

    Abstract: 本发明涉及一种基于原子状态函数的浮点数误差检测方法和装置。本发明对源代码或程序进行插桩以获取程序运行时的内部状态;通过程序运行时的内部状态,计算每个浮点数运算的原子状态函数,挖掘原子状态函数与浮点数误差的内在联系,推断出原子状态函数与误差的强关联性;构建搜索框架,利用搜索算法得到会触发高危原子状态函数的测试用例集合;该测试用例集合即为揭错率高,会触发显著浮点数误差的输入。由于计算原子状态函数不需要引入高精度浮点数,不依赖于测试预言,使得本发明不依赖于测试预言,并且揭错率高,运行开销小,不依赖于高精度浮点数,运行时间快。

    时间适配的自动化缺陷定位方法和装置

    公开(公告)号:CN109376080A

    公开(公告)日:2019-02-22

    申请号:CN201811128264.X

    申请日:2018-09-27

    Applicant: 北京大学

    Abstract: 本发明提供一种时间适配的自动化缺陷定位方法和装置,其能使软件行业从业人员在程序调试实际工作中进行更高效的缺陷定位并提高定位精准度。本发明的时间适配的自动化缺陷定位方法包括:测量选定的不同现有自动化缺陷定位方法的执行时间,并按照执行时间将这些选定的方法划分为由快至慢的不同级别;执行最快级别方法的组合,或者慢级别方法与较其快速的各级别方法的组合,分别对各组合的输出结果进行分数归一化处理,然后进行训练以建立各组合的排序学习模型;在具体程序调试场景中,依次执行由快至慢的各级别选定的方法,当软件开发和维护人员请求缺陷定位结果时,根据当前执行完毕的级别,使用各组合的排序学习模型自动综合结果分数并进行排序。

    一种基于控制流图的内存泄漏自动修复方法

    公开(公告)号:CN104750563B

    公开(公告)日:2017-11-07

    申请号:CN201310728361.3

    申请日:2013-12-26

    Applicant: 北京大学

    Abstract: 一种基于控制流图的内存泄漏自动修复方法,应用于计算机程序的内存泄露检测和自动修复,包括如下步骤:第一步:制作计算机程序的控制流图;第二步:根据所述控制流图进行内存泄露检测和修复;第三步:利用在控制流图中记录的代码位置信息,将添加到图中的修复代码映射回原计算机程序代码中。开发者可以使用本发明所述的方法自动修复计算机程序的内存泄漏,而不必担心修复错误或引入新错误。

    一种基于问答网站分析的程序崩溃缺陷自动修复方法

    公开(公告)号:CN105335246A

    公开(公告)日:2016-02-17

    申请号:CN201510708750.9

    申请日:2015-10-27

    Applicant: 北京大学

    CPC classification number: G06F11/0793 G06F11/3612

    Abstract: 本发明涉及计算机软件技术领域,公开了一种基于问答网站分析的程序崩溃缺陷自动修复方法,包括:根据程序发生崩溃时的崩溃踪迹,获取多个相关网页;其中,所述相关网页中包含描述所述崩溃的缺陷代码以及修复所述崩溃的修复代码;在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段;根据所述缺陷代码片段以及修复代码片段生成用于修复所述崩溃的编辑脚本;根据所述崩溃踪迹以及缺陷代码,确定所述程序源代码中有错误代码的位置,应用所述编辑脚本修复所述错误代码。本发明可根据崩溃踪迹在相关网页上自动搜索修复方案,并生成相应的编辑脚本对崩溃进行修复,摆脱了在修复过程中对操作人员的依赖,实现自动修复,且修复精度较高。

Patent Agency Ranking