-
公开(公告)号:CN104572111A
公开(公告)日:2015-04-29
申请号:CN201510027127.7
申请日:2015-01-20
Applicant: 扬州大学
IPC: G06F9/44
Abstract: 本发明公开了软件开发领域内的一种基于相关主题模型的程序理解和特征定位方法,包括以下步骤:1)导入需要理解的软件系统的源代码,提取类文件,并对其进行预处理;2)利用相关主题模型为经过预处理的类文件进行建模,生成程序特征网络;3)输入特征并将特征扩展为特征集,利用相关主题模型预测上述程序特征网络中与该特征集有边的结点;4)将所预测的结点进行排序;5)为排序后的结点生成内容摘要和排序摘要以供使用者参考;6)输出排序后的结点对应的类文件及其摘要,利用本方法可使得开发人员可对整个系统有一个更加简单和快速的理解以及在定位软件特征时候为开发人员更加精准的结果,本发明可用于软件开发维护中。
-
公开(公告)号:CN117763540A
公开(公告)日:2024-03-26
申请号:CN202311487322.9
申请日:2023-11-09
Applicant: 扬州大学
Abstract: 本发明公开了一种面向预训练代码模型的防御方法及系统。该防御方法包括以下步骤:S1、获取并预处理代码数据集,生成对抗代码样本。S2、对对抗代码样本进行数据增强,得到训练集。S3、获取预训练模型,所述预训练模型包括掩码语言模型,基于所述训练集和预训练模型生成异常检测模型。S4、获取待检测代码文件,基于异常检测模型对待检测代码文件进行检测,识别出具有对抗性的代码文件的异常变量名。S5、基于掩码语言模型将所述异常变量名替换并修复,输出防御修复代码文件。防御系统包括数据获取模块、数据增强模块、异常检测模型生成模块、异常变量名提取模块、代码文件替换修复模块。本发明具有考虑静态分析、准确性高、速度快的特点。
-
公开(公告)号:CN103927176B
公开(公告)日:2017-02-22
申请号:CN201410156738.7
申请日:2014-04-18
Applicant: 扬州大学
IPC: G06F9/44
Abstract: 本发明公开了软件工程领域内的一种基于层次主题模型的程序特征树的生成方法,程序特征树以树的形式将系统的特征按层次展示出来,在该树中,父节点是各种特征的混合,孩子节点都是父节点的子特征,叶子节点则为划分最细的特征,我们还将叶子节点的特征与相应的类文件进行匹配识别,该方法可有效地辅助软件维护过程中的程序理解。本发明涉及到的关键操作包括(:1)对整个软件系统进行预处理,提取其中的用户自定义标识符和注释(2)对预处理后的整个软件系统采用层次主题模型,为软件系统构建程序特征树。(3)将叶子节点的特征与相应的代码进行匹配识别。
-
公开(公告)号:CN105117398A
公开(公告)日:2015-12-02
申请号:CN201510366332.6
申请日:2015-06-25
Applicant: 扬州大学
IPC: G06F17/30
CPC classification number: G06F17/30976 , G06F17/30985
Abstract: 本发明涉及一种基于众包的软件开发问题自动应答方法。本发明用tag-LDA对用户提交的问题进行标签推荐,将历史问题答案对匹配,选出相关问题答案对,对所有问题和答案进行预处理,将答案的内容与用户提出的问题进行内容匹配,计算出内容相似度、可信度,根据反馈计算答案的采纳度,对相似度、可信度和采纳度三个角度分别进行排序,为用户推荐出答案和提出者信息。本发明克服了没有直接解决用户对答案的迫切需求的缺陷。本发明利用历史库中已有问题和答案(即众包知识),挖掘出合适答案和提出者信息推荐给用户,极大地减少了信息淹没的可能性,并从内容相似度,提出者可信度,答案采纳度三个角度为用户推荐相关答案及答案的提出者信息。
-
公开(公告)号:CN104572115A
公开(公告)日:2015-04-29
申请号:CN201510036368.8
申请日:2015-01-23
Applicant: 扬州大学
IPC: G06F9/44
Abstract: 一种基于相关主题模型的程序理解和特征定位方法,利用相关主题模型为整个软件系统建立一个程序特征网络,有助于软件开发人员对程序的直接理解和分析,找到感兴趣的功能代码;对特征定位中的需求特征进行扩展,增加了定位的结果范围从而使得结果更加全面;对定位的结果进行筛选和排序,为开发人员提供一个全面而又精简的特征定位结果;对最后的特征定位结果进行概要化,为开发人员最后选取特征定位的结果作为参考内容,更快的定位到需要的特征相关的代码文件。
-
公开(公告)号:CN117350364A
公开(公告)日:2024-01-05
申请号:CN202311340360.1
申请日:2023-10-16
Applicant: 扬州大学
IPC: G06N3/094 , G06N3/096 , G06N3/086 , G06N3/045 , G06N3/0475 , G06N3/0495
Abstract: 本发明公开了一种基于知识蒸馏的代码预训练模型对抗样本生成方法及系统。所述方法包括以下步骤:S1、获取包括多个样本的开源数据集;S2、获取预训练代码模型,并基于鲁棒性感知的知识蒸馏建立预训练代码模型对应的若干个最优学生模型;S3、使用样本攻击最优学生模型,提取攻击成功的样本作为对抗样本;S4、使用对抗样本攻击预训练代码模型,提取攻击成功的对抗样本组成对抗集合。对抗集合即为生成的对抗样本。相应地,所述系统包括开源数据搜集模块、鲁棒性感知的知识蒸馏模块、攻击学生模型模块、预训练代码模型攻击模块。本发明基于知识蒸馏的代码预训练模型对抗样本生成方法及系统具有鲁棒性高、样本可迁移、攻击效果好的特点。
-
公开(公告)号:CN105117398B
公开(公告)日:2018-10-26
申请号:CN201510366332.6
申请日:2015-06-25
Applicant: 扬州大学
IPC: G06F17/30
Abstract: 本发明涉及一种基于众包的软件开发问题自动应答方法。本发明用tag‑LDA对用户提交的问题进行标签推荐,将历史问题答案对匹配,选出相关问题答案对,对所有问题和答案进行预处理,将答案的内容与用户提出的问题进行内容匹配,计算出内容相似度、可信度,根据反馈计算答案的采纳度,对相似度、可信度和采纳度三个角度分别进行排序,为用户推荐出答案和提出者信息。本发明克服了没有直接解决用户对答案的迫切需求的缺陷。本发明利用历史库中已有问题和答案(即众包知识),挖掘出合适答案和提出者信息推荐给用户,极大地减少了信息淹没的可能性,并从内容相似度,提出者可信度,答案采纳度三个角度为用户推荐相关答案及答案的提出者信息。
-
-
公开(公告)号:CN103729197A
公开(公告)日:2014-04-16
申请号:CN201410028677.6
申请日:2014-01-22
Applicant: 扬州大学
IPC: G06F9/44
Abstract: 本发明公开了软件工程技术领域内的一种基于LDA模型的多粒度层次软件聚类方法,旨在解决现有技术中软件聚类技术忽略了软件功能特征导致开发人员不能根据聚类结果快速理解软件系统的技术问题。本发明通过LDA模型在类和方法两个不同层次提取主题,实现了粗粒度层次到细粒度层次的聚类,为开发人员建立一个更加易于理解的系统结构,使得聚类的结果更加有效、更加实用化;通过本发明提供的方法开发人员可清楚的了解软件程序的功能点,快速找到所需的功能源代码。本方法应用于辅助软件维护与演化过程中的程序理解,可为开发人员提供一个从系统到方法的逐步理解的过程,具有聚类性能好、实用性强、工作效率高的特点。
-
公开(公告)号:CN104572111B
公开(公告)日:2017-12-01
申请号:CN201510027127.7
申请日:2015-01-20
Applicant: 扬州大学
IPC: G06F9/44
Abstract: 本发明公开了软件开发领域内的一种基于相关主题模型的程序理解和特征定位方法,包括以下步骤:1)导入需要理解的软件系统的源代码,提取类文件,并对其进行预处理;2)利用相关主题模型为经过预处理的类文件进行建模,生成程序特征网络;3)输入特征并将特征扩展为特征集,利用相关主题模型预测上述程序特征网络中与该特征集有边的结点;4)将所预测的结点进行排序;5)为排序后的结点生成内容摘要和排序摘要以供使用者参考;6)输出排序后的结点对应的类文件及其摘要,利用本方法可使得开发人员可对整个系统有一个更加简单和快速的理解以及在定位软件特征时候为开发人员更加精准的结果,本发明可用于软件开发维护中。
-
-
-
-
-
-
-
-
-