一种微服务软件架构识别与度量方法

    公开(公告)号:CN112579436B

    公开(公告)日:2022-11-29

    申请号:CN202011378841.8

    申请日:2020-12-01

    IPC分类号: G06F11/36

    摘要: 本发明提出了一种微服务软件架构识别与度量方法,对待检测的原始微服务JAR包进行预处理,将JAR包进行文件目录解构和冗余项过滤;根据微服务软件架构特征体系,提取待测软件的微服务规模特征、微服务构件特征和微服务拓扑特征,其中微服务规模特征采用子服务数量作为特征项,构件特征采用服务注册与发现组件、负载均衡组件作为特征项,微服务拓扑特征采用网关组件作为特征项;构建微服务软件架构符合度模型,计算待测软件遵循微服务架构的概率,决策得到待测软件是微服务程序的可能性。本发明填补了传统软件评测在技术框架符合性评估领域的空白,能够自动恢复待测软件的技术框架,并分析软件对微服务架构的符合性。

    一种微服务软件架构识别与度量方法

    公开(公告)号:CN112579436A

    公开(公告)日:2021-03-30

    申请号:CN202011378841.8

    申请日:2020-12-01

    IPC分类号: G06F11/36

    摘要: 本发明提出了一种微服务软件架构识别与度量方法,对待检测的原始微服务JAR包进行预处理,将JAR包进行文件目录解构和冗余项过滤;根据微服务软件架构特征体系,提取待测软件的微服务规模特征、微服务构件特征和微服务拓扑特征,其中微服务规模特征采用子服务数量作为特征项,构件特征采用服务注册与发现组件、负载均衡组件作为特征项,微服务拓扑特征采用网关组件作为特征项;构建微服务软件架构符合度模型,计算待测软件遵循微服务架构的概率,决策得到待测软件是微服务程序的可能性。本发明填补了传统软件评测在技术框架符合性评估领域的空白,能够自动恢复待测软件的技术框架,并分析软件对微服务架构的符合性。

    一种程序运行过程符合性验证方法

    公开(公告)号:CN112579437A

    公开(公告)日:2021-03-30

    申请号:CN202011378877.6

    申请日:2020-12-01

    IPC分类号: G06F11/36

    摘要: 本发明提出了一种程序运行过程符合性验证方法,包括动态插桩和过程验证两个环节,动态插桩工作时,接收并解析用户传入的指令,执行插桩启停过程,并回传过程数据日志;过程验证接收过程数据日志,提取日志中方法间的关系建立过程图模型,并将过程图模型与标准规则进行顺序匹配,从而验证程序运行过程的标准符合性。本发明通过插桩埋点、数据建模等方法直观、定量地展示出程序运行时内部的执行流程信息,提供了一种程序运行流程验证的方法,填补了针对软件运行过程符合性验证的空白。

    一种程序运行过程符合性验证方法

    公开(公告)号:CN112579437B

    公开(公告)日:2022-11-29

    申请号:CN202011378877.6

    申请日:2020-12-01

    IPC分类号: G06F11/36

    摘要: 本发明提出了一种程序运行过程符合性验证方法,包括动态插桩和过程验证两个环节,动态插桩工作时,接收并解析用户传入的指令,执行插桩启停过程,并回传过程数据日志;过程验证接收过程数据日志,提取日志中方法间的关系建立过程图模型,并将过程图模型与标准规则进行顺序匹配,从而验证程序运行过程的标准符合性。本发明通过插桩埋点、数据建模等方法直观、定量地展示出程序运行时内部的执行流程信息,提供了一种程序运行流程验证的方法,填补了针对软件运行过程符合性验证的空白。

    一种基于文本比较的多版本软件演化历史静态分析方法及系统

    公开(公告)号:CN113110871B

    公开(公告)日:2024-09-06

    申请号:CN202110462336.X

    申请日:2021-04-27

    申请人: 东南大学

    IPC分类号: G06F8/71

    摘要: 本发明公开了一种基于文本比较的多版本软件演化历史静态分析方法,该方法包括以下步骤:步骤1)将软件多个不同版本的文件以时间为序排列,步骤2)用计算程序文件内容余弦相似度的方法,步骤3)获知程序文件内容的差异,获知方法变更表;步骤4)获知文件变更表,步骤5)获取度量数据,获知演化历史分析报告。该方法通过静态分析程序数据流和控制流结构,并利用软件程序结构分层计算;支持不同层次的并发计算,过程简便,成本低廉。

    一种基于依赖特征的循环代码缺陷检测方法

    公开(公告)号:CN116501639A

    公开(公告)日:2023-07-28

    申请号:CN202310481965.6

    申请日:2023-04-28

    申请人: 东南大学

    IPC分类号: G06F11/36

    摘要: 本发明公开了一种基于依赖特征的循环代码缺陷检测方法,从多种类型的依赖关系出发,检测循环代码缺陷。该方法包括:循环代码依赖图构建,循环代码依赖特征提取,循环代码缺陷检测三个步骤:循环代码依赖图构建定义各类代码的依赖关系特征,依赖图表示实体与实体之间的依赖关系;循环代码依赖特征提取是针对分析的循环代码,从依赖图中提取信息构建循环代码的依赖特征;循环代码缺陷检测是通过分析各类依赖关系与相应的代码循环代码缺陷特征进行匹配得出是否存在该代码循环代码缺陷。

    一种基于双分类器的增量式软件架构更新方法

    公开(公告)号:CN110162329B

    公开(公告)日:2023-07-18

    申请号:CN201910254635.7

    申请日:2019-03-31

    申请人: 东南大学

    IPC分类号: G06F8/658 G06F18/2415

    摘要: 本发明公布了一种基于双分类器结合使用的增量式软件架构更新技术,在已有软件架构视图的基础上,利用前后软件版本源代码,对其进行更新生成新版本的架构视图。本发明中软件架构视图通过文件‑模块‑组件依赖图的形式展示,抽象层次依次递增。首先通过变更检测技术分析前后版本源代码得到变更文件(变更检测分析模块),其次借助解析工具对变更文件依赖关系进行提取得到增量数据(更新预处理模块),再输入到更新模块进行图的更新,通过组件调整操作得到最终软件架构视图以及更新细节表。更新模块所使用的双分类器包括贝叶斯分类器和基于Orphan adoption算法的分类器,两者的结合使用可以使得架构更新结果更加准确,效率更高。

    一种基于重叠度计算的NLP库组合使用方法

    公开(公告)号:CN110705249B

    公开(公告)日:2023-04-11

    申请号:CN201910829315.X

    申请日:2019-09-03

    申请人: 东南大学

    IPC分类号: G06F40/205 G06F16/30

    摘要: 本发明公开了一种基于重叠度计算的NLP(Natural Language Processing,自然语言处理)库组合使用方法,针对软件文档中的自然语言,组合使用多种不同的NLP库对自然语言进行分析,NLP库组合使用技术通过单个NLP库分析、文档级别NLP库选取和语句级别优化三个步骤来结合不同NLP库的优势,从而使得NLP库的分析效果更准确,利于软件开发人员理解软件文档。

    一种基于多规则聚类的组件识别方法

    公开(公告)号:CN108519881B

    公开(公告)日:2021-06-11

    申请号:CN201810221525.6

    申请日:2018-03-17

    申请人: 东南大学

    IPC分类号: G06F8/41 G06K9/62

    摘要: 本发明公开了一种基于多规则聚类的组件识别方法,通过对模块依赖图的分析,根据制定的规则,分别从依赖类型、依赖结构和依赖强度多个角度识别出组件,同时并分析组件间的依赖关系。同时本发明采用了中心‑层次混合聚类算法,对于聚合的判定基于一个度量标准D(a,b)。该值受到两个因素影响,分别是实体间的目录相似度,以及实体间的依赖强度,其中依赖强度又和依赖次数与依赖类型有关。在每次迭代后,围绕选取的聚类中心进行层次聚合,最后实现对目标系统由低层到高层的抽象。

    一种基于类继承关系分析的API推荐方法

    公开(公告)号:CN110879704A

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

    申请号:CN201910829311.1

    申请日:2019-09-03

    申请人: 东南大学

    IPC分类号: G06F8/36 G06F8/30

    摘要: 本发明公开了一种基于类继承关系分析的API(Application Programming Interface,应用程序编程接口)推荐方法,通过对方法按其所属类之间的层次结构关系进行分类,并对方法间的依赖信息进行关联关系分析,以确定属于不同层次类的方法间的联系。通过平衡方法间类的层次结构关系,方法间的依赖关系以及层次结构间方法的使用频率,对于方法间存在较强逻辑关系的项目可以有效提高API方法推荐结果的准确率。