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

    公开(公告)号:CN107203469A

    公开(公告)日:2017-09-26

    申请号:CN201710292927.0

    申请日:2017-04-28

    Applicant: 北京大学

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

    一种预测性变异测试方法
    22.
    发明公开

    公开(公告)号:CN106095684A

    公开(公告)日:2016-11-09

    申请号:CN201610437023.8

    申请日:2016-06-17

    Applicant: 北京大学

    CPC classification number: G06F11/3684 G06F11/3688 G06F11/3692

    Abstract: 本发明公布了一种预测性变异测试方法,分为训练阶段和预测阶段,通过预测方法来预测每一个变异体的执行结果;训练阶段包括:执行变异体;对已执行变异体进行特征收集,形成特征属性文件;应用分类算法创建分类模型;预测阶段包括:对未执行变异体进行特征收集;对未执行变异体利用分类模型将每一个未执行变异体分类,即获得分类结果。采用本发明技术方案进行变异测试,可对待测的变异体,直接使用建立的预测模型进行预测,不必执行变异体即可得到变异体的执行结果,可显著降低变异测试代价。

    程序注释方法和装置
    23.
    发明授权

    公开(公告)号:CN103324513B

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

    申请号:CN201310218270.5

    申请日:2013-06-04

    Applicant: 北京大学

    Abstract: 本发明提供一种程序注释方法和装置。其中,方法包括:获取与程序代码对应的多媒体注释文件;建立多媒体注释文件与程序代码之间的关联关系。通过采用多媒体注释文件对程序代码进行注释,以使程序维护人员根据程序代码中的多媒体注释文件,能够快速理解程序代码,提高了程序维护人员的维护效率。

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

    公开(公告)号:CN104750563A

    公开(公告)日:2015-07-01

    申请号:CN201310728361.3

    申请日:2013-12-26

    Applicant: 北京大学

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

    一种用于检测组合服务中并发安排不当的伙伴服务的方法

    公开(公告)号:CN101833481B

    公开(公告)日:2012-07-04

    申请号:CN201010172366.9

    申请日:2010-05-14

    Applicant: 北京大学

    Inventor: 倪一涛 张路 梅宏

    Abstract: 本发明提供了一种用于检测组合服务中并发安排不当的伙伴服务的方法,属于基于服务的软件开发过程的软件质量保障领域,是一种用于辅助查错的静态分析方法。该方法包括:首先,构造组合服务的消息传播图;其次,构造与伙伴服务相关的活动之间依赖关系图;再次,构造可并发运行的活动序列组的队列;最后,检测并发相关不当安排的活动。本方法可单独作为一款工具或一个插件集成到基于业务流程执行语言的服务开发集成开发环境,辅助开发人员自动检测组合服务中可能存在并发相关的伙伴服务不当安排,以提高所设计服务的质量。

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

    公开(公告)号:CN101833508A

    公开(公告)日:2010-09-15

    申请号:CN201010165343.5

    申请日:2010-05-07

    Applicant: 北京大学

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

    一种用于检测组合服务中并发安排不当的伙伴服务的方法

    公开(公告)号:CN101833481A

    公开(公告)日:2010-09-15

    申请号:CN201010172366.9

    申请日:2010-05-14

    Applicant: 北京大学

    Inventor: 倪一涛 张路 梅宏

    Abstract: 本发明提供了一种用于检测组合服务中并发安排不当的伙伴服务的方法,属于基于服务的软件开发过程的软件质量保障领域,是一种用于辅助查错的静态分析方法。该方法包括:首先,构造组合服务的消息传播图;其次,构造与伙伴服务相关的活动之间依赖关系图;再次,构造可并发运行的活动序列组的队列;最后,检测并发相关不当安排的活动。本方法可单独作为一款工具或一个插件集成到基于业务流程执行语言的服务开发集成开发环境,辅助开发人员自动检测组合服务中可能存在并发相关的伙伴服务不当安排,以提高所设计服务的质量。

    一种自动代码的演化和编辑方法及系统

    公开(公告)号:CN118778942A

    公开(公告)日:2024-10-15

    申请号:CN202410768557.3

    申请日:2024-06-14

    Applicant: 北京大学

    Abstract: 本发明公开一种自动代码的演化和编辑方法及系统,属于信息技术领域。所述方法包括:构建训练数据集,所述训练数据集由若干个新旧代码对构成;基于代码编辑目标生成损失、代码保留片段掩码损失以及结合去噪自编码的代码编辑损失,在所述训练集上训练一代码演化和编辑模型;其中,所述代码演化和编辑模型是基于Transformer的Encoder‑Decoder框架构建;基于代码演化和编辑模型实现测试代码的演化或编辑。本发明可以在修改旧代码的过程中高效地生成正确的目标代码。

Patent Agency Ranking