-
公开(公告)号:CN113326047B
公开(公告)日:2023-11-03
申请号:CN202110650142.2
申请日:2021-06-10
Applicant: 南京大学
Abstract: 本发明公开了一种基于静态分析的C语言代码依赖关系提取方法,包括以下步骤:对C语言源代码进行静态分析,获得各条宏指令的信息以及各个变量、函数、类型的信息;对每条宏指令,基于宏指令信息提取该条宏指令产生的依赖关系;对每个变量,基于每条变量信息提取该变量产生的依赖关系;对每个函数,基于每条函数信息提取该函数产生的依赖关系;对每个类型,基于类型信息提取该类型产生的依赖关系;基于符号级的依赖关系提取文件级的依赖关系;持久化提取到的依赖关系;以实现从C语言源码中提取更加全面、更加精确、多层次的依赖关系。
-
公开(公告)号:CN116701216A
公开(公告)日:2023-09-05
申请号:CN202310700345.7
申请日:2023-06-14
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明公开了一种面向学生程序的精准修复方法,包括步骤:步骤S1输入一个错误程序P、一个正确程序Q和一组测试用例T作为方法的输入;步骤S2:设计程序块划分标准,将错误程序P和正确程序Q的代码划分成基本块;步骤S3:对错误程序P和正确程序Q代码基本块进行语句匹配;步骤S4根据匹配情况生成对错误语句的操作;步骤S5执行插入操作;步骤S6执行删除操作;步骤S7执行修改操作;步骤S8重新调整语句顺序;步骤S9错误程序P修改后运行测试用例测试是否修复成功,若成功则结束,反之继续修复。本方法采用语句匹配技术,可以在修复距离最小的情况下,使用正确程序修复错误程序,使得错误程序成功运行。
-
公开(公告)号:CN112988122B
公开(公告)日:2023-07-18
申请号:CN202110323723.5
申请日:2021-03-26
Applicant: 南京大学
IPC: G06F8/20
Abstract: 本发明公开一种基于功能特性与微服务关联度的单体应用分解工具,在进行单体应用微服务化分解的过程中,自动化分解工具基于一组软件功能特性:关联后端、数据计算、通知、外观、用户偏好、信息传输、数据存储、搜索、时效性、功能扩展、软件开发、快捷键,通过用户对于软件功能进行特性评估,结合本工具提供的微服务标准库计算得到的特性与微服务关联度,计算出每一个软件功能适合进行微服务化的权重,为单体应用的微服务化分解提供了衡量指标,本发明同时也提供了管理员功能,可以对微服务标准库中的数据进行添加修改,从而不断提高特性与微服务关联度的准确度与适用范围,用户也可以保存评估得到的结果,以便对于后续的微服务重构开发提供指导。
-
公开(公告)号:CN115509604A
公开(公告)日:2022-12-23
申请号:CN202211250754.3
申请日:2022-10-13
Applicant: 南京大学
Abstract: 本发明公开一种基于信息检索与深度神经网络的混合代码注释生成方法,本方法主要由数据集处理、模型训练、决策阈值选取、注释生成这四个部分组成,具体步骤为:搜集大量源代码‑注释数据对并清理数据,将搜集好的数据集划分训练集、验证集和测试集;使用训练集训练深度神经网络的参数并构建信息检索库;根据验证集上的效果选取合适的模型和决策阈值;分别通过深度神经网络模型和信息检索引擎为待生成注释代码生成备选注释,并根据待生成注释代码与其相似代码的相似度以及决策阈值确定最终的输出结果;本方法基于信息检索技术与深度学习网络,能够有效生成简明且准确描述源代码功能性的自然语言文本。
-
公开(公告)号:CN114936165A
公开(公告)日:2022-08-23
申请号:CN202210655506.0
申请日:2022-06-10
Applicant: 南京大学
Abstract: 本发明由注解变异生成Appium脚本的方法,对一个Appium脚本代码以特定语法添加注解,以表述出对某行脚本的重复次数,变量要求需求;将添加了注解的脚本输入Xtext语法中,生成Xtext语法树;将Xtext语法树输入Xtend代码中,对其不同的组成成分进行各自不同的处理,最终生成全新的,符合用户注解中表达需求的Appium脚本。本发明主要由Appium脚本代码注解语法,解析添加注解的脚本的Xtext语法,与Xtext语法对应的、解析Xtext生成的语法树从而生成新脚本Xtend语法三个部分组成;实现从原始代码加简单注解生成大批量相似代码的工作,有效解决编写大量类似测试脚本费时费力的问题。
-
公开(公告)号:CN114610630A
公开(公告)日:2022-06-10
申请号:CN202210273886.1
申请日:2022-03-19
Applicant: 南京大学
IPC: G06F11/36 , G06F40/194
Abstract: 本发明公开了一种界面跳转图打标签的方法和装置。该方法根据已有界面功能场景路径的标签,通过路径相似匹配,为将自动化测试工具对UI应用界面测试所产生的各界面跳转图中相应的界面场景路径自动化地打上标签,从而使得工程师能够便于理解自动化测试工具所测试功能场景,为后续的测试分析、程序缺陷定位提供帮助。路径相似匹配时,本发明通过控件布局信息和跳转信息的相似度计算逐个匹配相似的路径。
-
公开(公告)号:CN112988122A
公开(公告)日:2021-06-18
申请号:CN202110323723.5
申请日:2021-03-26
Applicant: 南京大学
IPC: G06F8/20
Abstract: 本发明公开一种基于功能特性与微服务关联度的单体应用分解工具,在进行单体应用微服务化分解的过程中,自动化分解工具基于一组软件功能特性:关联后端、数据计算、通知、外观、用户偏好、信息传输、数据存储、搜索、时效性、功能扩展、软件开发、快捷键,通过用户对于软件功能进行特性评估,结合本工具提供的微服务标准库计算得到的特性与微服务关联度,计算出每一个软件功能适合进行微服务化的权重,为单体应用的微服务化分解提供了衡量指标,本发明同时也提供了管理员功能,可以对微服务标准库中的数据进行添加修改,从而不断提高特性与微服务关联度的准确度与适用范围,用户也可以保存评估得到的结果,以便对于后续的微服务重构开发提供指导。
-
公开(公告)号:CN111061644A
公开(公告)日:2020-04-24
申请号:CN201911352967.5
申请日:2019-12-25
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明公开了一种检测并定位异常抛出处理缺陷的方法和装置。该方法首先对待测程序插装,对可能抛出异常的方法前插入控制代码,使得待测程序被执行后,通过控制代码输出被插装方法信息和调用信息并通过异常触发配置信息的匹配确定是否抛出异常和抛出何种异常。然后根据被插装方法列表,得到可能触发的异常类型集合。再根据该异常类型集合对每个异常类型进行可疑异常触发测试,得到可疑方法异常信息集合。最后通过对可疑方法异常信息集合中的每个可疑方法异常信息进行上下文组合异常触发测试得到异常抛出缺陷定位信息。本发明通过可疑异常触发测试的过滤,大大缩减了异常抛出处理缺陷定位范围,从而大大提高定位效率。
-
公开(公告)号:CN111008154A
公开(公告)日:2020-04-14
申请号:CN201911402274.2
申请日:2019-12-31
Applicant: 南京大学
Abstract: 本发明公开一种基于强化学习的Android应用自动测试方法及系统,在测试过程中,自动测试工具自动运行Android APK,获取当前界面控件布局情况并推测出可执行交互事件,采用Q-learning算法,交互事件第一次被探索到时会有一个初始价值,自动测试工具依据交互事件价值选择并执行交互事件。每次执行交互事件后都会产生一个奖赏对交互事件的价值进行更新。奖赏给定主要以新状态与过往状态的差异为判定标准。本发明引入神经网络对状态进行比较,可以判定两状态是否处在同一功能场景。基于该神经网络判定结果给定的奖赏,可以引导自动测试工具优先对Android应用中的各个场景进行探索,以此提升测试效率,同时发现更多代码中存在的缺陷。
-
公开(公告)号:CN105955882B
公开(公告)日:2019-01-08
申请号:CN201610268442.3
申请日:2016-04-27
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明公开了一种迭代学习模型行为相似性的测试用例生成方法和装置。本发明首先根据系统状态模型构建系统状态机图,然后根据系统状态机图、已有的测试用例集、已有的测试用例集相应的测试结果生成新的测试用例集;再然后执行生成的测试用例,并记录测试结果;再将测试结果更新到系统状态机图中,并更新已有测试用例集,最后重复上述过程直到满足停止条件。本发明通过基于历史信息的启发式规则提高每次迭代时生成的测试用例的质量,以减少在测试用例空间中探索的次数,从而提高测试过程的效率。
-
-
-
-
-
-
-
-
-