-
公开(公告)号:CN118427831A
公开(公告)日:2024-08-02
申请号:CN202410452617.0
申请日:2024-04-16
Applicant: 复旦大学
IPC: G06F21/57
Abstract: 本发明属于软件工程技术领域,具体为基于多源知识的开源漏洞影响组件及其生态的识别方法。本发明方法包括,从多个信息源收集有关漏洞影响组件及其生态系统的多源证据;利用网络资源组建全量的生态组件池并计算已收集证据与组件池中每个组件的相关性;将现有的CVE漏洞条目与对应的影响组件及其生态作为训练数据集,训练开源漏洞影响组件及其生态识别器;输入待检测CVE漏洞条目进行漏洞组件的相关度排序,取出全量排序中排名最高的组件与其对应的生态作为漏洞影响组件及其生态。本发明方法可以帮助审查并纠正漏洞知识库的组件知识,缓解依赖漏洞组件的项目的风险和损失。
-
公开(公告)号:CN117056924A
公开(公告)日:2023-11-14
申请号:CN202311061083.0
申请日:2023-08-23
Applicant: 复旦大学
IPC: G06F21/56 , G06F18/2415 , G06F18/214
Abstract: 本发明属于软件工程技术领域,具体为基于恶意行为序列特征建模的恶意软件包检测方法。本发明方法包括,静态分析PyPI、NPM软件包的源代码,提取代码中包含的潜在恶意行为特征;构建PyPI、NPM软件包的API层次依赖与调用结构,生成PyPI、NPM软件包的潜在恶意行为序列;将现有的PyPI、NPM恶意包样本与正常包样本作为训练包数据集,训练生成恶意包检测器;将待检测包作为测试包输入,通过恶意行为序列验证是否为恶意包。本发明方法可以帮助包管理平台维护者及时发现恶意的PyPI、NPM软件包,帮助开发者及时检测是否引入恶意的开源PyPI、NPM软件包,避免进一步造成风险和损失。
-
公开(公告)号:CN116594879A
公开(公告)日:2023-08-15
申请号:CN202310537145.4
申请日:2023-05-13
Applicant: 复旦大学
Abstract: 本发明属于软件工程技术领域,具体为基于静态分析的TensorFlow深度学习代码性能问题检测方法。本发明方法包括:针对TensorFlow深度学习项目,应用静态检测技术检测并定位Python项目文件中导致性能损失的问题代码,检测5种性能问题,即用相同参数多次调用计算图节点的API导致相同节点被重复创建;batch和map方法调用次序错误导致的map方法调用增加;调用map和interleave方法时未设置num_parallel_calls参数导致函数并行功能禁用;循环定义tf.function装饰函数导致相同计算图重复构建;向tf.function装饰函数传递数值变化的Python类型参数导致计算图重复构建。本发明可以帮助开发人员快速高效地检测部分性能问题,提升深度学习系统性能。
-
公开(公告)号:CN112100322B
公开(公告)日:2022-09-16
申请号:CN202010785731.7
申请日:2020-08-06
Applicant: 复旦大学
Abstract: 本发明属于软件工程技术领域,具体为一种基于知识图谱的API元素比较结果自动生成方法。本发明基本步骤为:从API参考文档中抽取API结构知识作为知识图谱的骨架;从API结构知识中以及API元素对应的描述性句子中抽取出8种不同类型的知识;通过引入通用词典、通用知识图谱外部知识实现概念和关系的扩展,将从不同来源抽取出来的表达方式有差异的API知识进行融合;利用对齐的方式为给定的一对API元素生成一个表格形式的比较结果。本发明为软件开发人员提供了一种从API功能、特性、概念等不同维度进行API元素比较的方式,开发人员能够快速地了解API元素的共性和差异,从而能更快速准确地选择满足当前开发需求的API元素和学习API相关知识。
-
-
公开(公告)号:CN111966817A
公开(公告)日:2020-11-20
申请号:CN202010723230.6
申请日:2020-07-24
Applicant: 复旦大学
IPC: G06F16/335 , G06F16/36 , G06F16/35 , G06N3/08 , G06F40/284 , G06F8/33
Abstract: 本发明属于软件工程技术领域,具体为一种基于深度学习的融合代码结构和文本信息的API推荐方法。本发明包括通过对大量包含目标API的源代码进行解析,构造大量的训练样本;构造融合代码结构和文本信息的深度学习网络;通过训练样本对深度学习网络进行训练,得到训练好的深度学习网络;用训练好的深度学习网络进行智能化API推荐;本发明中,设计了用于表示代码上下文的API上下文图、处理代码文本信息的方法以及对代码结构和文本信息进行融合学习的深度学习网络。本发明为软件开发人员提供基于代码上下文的智能化API推荐,在开发人员已经编写好的代码的基础上为其逐行推荐可能会用到的API,包括API方法调用、成员变量访问,控制语句以及变量和对象实例声明等。
-
公开(公告)号:CN106325851A
公开(公告)日:2017-01-11
申请号:CN201610649470.X
申请日:2016-08-10
Applicant: 复旦大学
Abstract: 本发明属于软件工程技术领域,具体为一种Android应用交互式远程协作方法。本发明首先通过对已有的Android应用安装包的自动分析和程序转换,使其具有交互式远程协作能力;在此基础上,请求方使用具有交互式远程协作能力的Android应用后,在任一界面上选定一个区域作为协作范围并发起远程协作;协作方使用客户端接受协作请求后,将自动生成一个与请求方应用协作范围内的界面内容一样的模拟界面,协作方通过模拟界面进行交互式协作;协作过程中,协作方的界面操作事件回传到请求方应用界面上并进行事件响应处理,同时更新后的请求方应用界面内容发送给协作方用于更新模拟界面内容。本发明方法具有较低的网络流量和延迟,并具备更高的安全性。
-
公开(公告)号:CN105930162A
公开(公告)日:2016-09-07
申请号:CN201610254292.0
申请日:2016-04-24
Applicant: 复旦大学
IPC: G06F9/44
CPC classification number: G06F8/75
Abstract: 本发明属于软件工程技术领域,具体为一种基于子图搜索的特征定位方法。本发明方法包括:对软件源代码进行预处理,获取代码元素间的调用依赖关系信息;用户输入关键字,并通过文本检索方法在软件源代码中搜索到包含任意关键字的代码元素作为候选元素;计算候选元素与输入的关键字的相似度;根据代码元素与关键字的相似度和代码元素间依赖关系定义评价函数,来评价调用依赖图的子图是否为较好的特征定位结果;然后在代码元素间的调用依赖图上搜索使评价函数值最高的子图作为结果。本发明的自动化程度较高,可以让开发者快速的进行特征定位,并能够清晰的了解代码结构,快速理解代码的实现过程。
-
公开(公告)号:CN103279347B
公开(公告)日:2016-03-30
申请号:CN201310203589.0
申请日:2013-05-28
Applicant: 复旦大学
IPC: G06F9/44
Abstract: 本发明属于软件开发技术领域,具体为一种通用的软件产品线领域模型与应用模型的同步方法。本发明预先将不同类型的领域模型与应用模型的表示及其同步操作进行抽象,前者归纳出一种通用的元模型,后者归纳出基于该元模型的一组针对模型变更的融合与传播规则。在通用元模型以及通用的同步规则基础上,本发明为软件产品线中不同类型的领域模型与应用模型提供一种通用的模型同步机制,该机制支持自动化的模型变更识别、融合与传播,同时在同步过程中为软件产品线的领域工程团队以及应用工程团队提供相应的同步操作选项。使用该方法,仅需编写特定类型模型与其通用表示形式之间的模型转换程序即可支持针对新引入的特定类型模型的演化同步。
-
公开(公告)号:CN101894038A
公开(公告)日:2010-11-24
申请号:CN201010242467.9
申请日:2010-08-02
Applicant: 复旦大学
IPC: G06F9/45
Abstract: 本发明属于软件开发技术领域,具体为一种软件产品线开发中特征可变性的逆向工程分析方法。该方法以遗留系统代码和领域特征列表作为输入,经过逆向分析,获取领域特征的可变性分析结果,体现为需求层面及实现层面上的可变性描述。其步骤包含:使用特征定位技术建立‘特征-类矩阵’集合;进行特征-产品整合,建立‘特征-产品矩阵’,获取需求层面上可变性;针对每个特征,进行遗留代码差异性比较,获取实现层面上可变性。本发明将代码中的领域知识与正向过程中的知识相结合,由此获得更为准确、全面的领域可变性结论。同时,特征实现层面上的可变性分析也为产品线的设计与实现活动带来益处。
-
-
-
-
-
-
-
-
-