一种轻量化的安卓应用运行方法和系统

    公开(公告)号:CN118377700A

    公开(公告)日:2024-07-23

    申请号:CN202410345466.9

    申请日:2024-03-25

    申请人: 南京大学

    IPC分类号: G06F11/36

    摘要: 本发明公开一种轻量化的安卓应用运行方法和系统,可通过计算机终端或在浏览器中通过网页的方式使用安卓应用并与之交互,采用CS架构设计;服务端为Java系统,模拟安卓系统给安卓应用提供的运行环境,使安卓应用运行不依赖于安卓设备(系统),该Java系统提供了支持安卓运行的必要组件,通过对安卓系统的精简与优化实现了轻量化运行安卓应用的目标,同时可快速通过参数配置模拟出的安卓环境;使用终端作为客户端访问服务端运行的安卓系统,通过命令行的方式与运行交互;使用浏览器作为客户端访问服务端运行的安卓应用,服务端将安卓应用界面计算后发送给浏览器渲染,用户通过在浏览器中呈现的界面与安卓应用交互。

    一种支撑生产环境测试的编程系统及其在生产环境中的测试方法

    公开(公告)号:CN118113608A

    公开(公告)日:2024-05-31

    申请号:CN202410245470.8

    申请日:2024-03-05

    申请人: 南京大学

    IPC分类号: G06F11/36

    摘要: 本发明公开了一种支撑生产环境测试的编程系统及其在生产环境中的测试方法,该编程系统包括:接口模块和运行时模块,所述接口模块用于在生产环境中待测试Java程序中加入在线测试代码,所述运行时模块用于运行待测试Java程序,产生快照,将快照解析还原成待测试Java程序的状态,并通过在线测试代码进行在线测试。本发明提供的在线测试接口允许在生产环境中对待测试Java程序进行便捷且不影响其正常运行的测试,运行时模块通过保存待测试Java程序状态的快照来执行测试,既提高了测试覆盖率也确保了测试行为不干扰程序运行,同时也通过一系列调控保证了资源的高效利用和运行时开销的可控。

    一种面向约束数据和控制结构的蜕变测试方法

    公开(公告)号:CN117331833A

    公开(公告)日:2024-01-02

    申请号:CN202311312712.2

    申请日:2023-10-11

    申请人: 南京大学

    IPC分类号: G06F11/36

    摘要: 一种面向约束数据和控制结构的蜕变测试方法,通过对软件输入的约束数据和约束结构进行细粒度分析,推导出了约束数据和约束结构在受控变换下的蜕变关系。考虑了对于约束数据的受控变换、对于约束结构的受控变换和同时对约束数据和约束结构进行受控变换这三类情形。在每类情形中,推导出变换前后输出之间应当具有的性质和蜕变关系。根据这些蜕变关系,可以自动化地构造测试用例进行测试。本发明可以在保证测试结果没有假阳性的前提下,不需要人工的协助,通过机器自动化地对约束数据和约束结构进行不同程度地变换,并自动分析输出结果是否保持对应性质,从而可以有效检测出一类基于数据约束的软件中的错误,提高这一类软件系统的工作质量。

    一种基于环境上下文一致性的统一处理系统、方法

    公开(公告)号:CN113515354B

    公开(公告)日:2023-09-12

    申请号:CN202110344239.0

    申请日:2021-03-30

    申请人: 南京大学

    摘要: 本发明公开了一种基于环境上下文一致性的统一处理系统,包括:用户界面展示模块,用于输入应用场景依赖和选择系统配置,展示一致性检测的结果;应用场景依赖解析模块,用于得到环境上下文数据、一致性约束和约束相关的上下文集合模式;配置解析模块,用于根据系统配置实例化调度策略、检测技术和运行方式;调度策略模块,用于根据读取的环境上下文数据判定是否调度一致性约束检测;检测技术模块,用于根据调度策略模块给出的检测指令判定是否运行一致性约束检测,输出一致性错误报告和辅助报告。本发明能够支持系统用户简单方便地在各个应用场景中使用已有调度策略和检测技术的组合,支持并集成了现有一致性处理的主流调度策略与检测技术工作。

    一种面向数据一致性维护的双粒度融合方法

    公开(公告)号:CN115599644A

    公开(公告)日:2023-01-13

    申请号:CN202211186902.X

    申请日:2022-09-28

    申请人: 南京大学(CN)

    IPC分类号: G06F11/34 G06F40/30

    摘要: 一种面向数据一致性维护的双粒度融合方法,该方法通过微观细粒度累积和宏观粗粒度并发相融合来又快又好地完成对数据一致性维护。一方面,为实现宏观并发最大化的检测决策,所述融合方法基于微观增量分析所保留的检测结果估计数据变动是否可能对其一致性造成破坏,从而在保证正确检测结果的前提下,实现两次检测之间数据尽可能地累积多次变动。另一方面,为实现数据一致性高效维护,所述融合方法提供了一种全新的检测语义,利用微观增量分析和宏观并发分析融合的方式来减少冗余计算和提高检测速度。此外,本发明还提供了并发最大化检测决策定理和增量并发混合检测定理以保证所述面向数据一致性高效维护的双粒度融合方法的正确性。

    提高安卓应用测试覆盖率的测试用例分解组合方法和系统

    公开(公告)号:CN111290966A

    公开(公告)日:2020-06-16

    申请号:CN202010155397.7

    申请日:2020-03-09

    申请人: 南京大学

    IPC分类号: G06F11/36

    摘要: 本发明公开了一种提高安卓应用测试覆盖率的测试用例分解组合方法,包含如下步骤:一、给定被测安卓应用,使用自动生成或人工提供的方式为被测应用生成初始测试用例,发送这些初始测试用例到被测应用,记录其执行轨迹,根据执行轨迹建立被测应用的状态自动机;二、将初始测试用例分解为执行应用单个功能的子用例;三、分析子用例间的关系,组合成执行被测应用复杂功能的复合测试用例;四、向被测应用发送生成的复合测试用例,根据其执行轨迹决定是否返回步骤一迭代执行。本发明能够自动生成有效复合测试用例以测试被测安卓应用的复杂功能,提高安卓应用测试覆盖率。

    一种针对安卓应用的迁移重构及支持系统

    公开(公告)号:CN104731654B

    公开(公告)日:2018-03-27

    申请号:CN201510156071.5

    申请日:2015-04-03

    申请人: 南京大学

    IPC分类号: G06F9/48

    CPC分类号: Y02D10/24

    摘要: 本发明公开了一种针对安卓应用的迁移重构及支持系统,所述系统包含应用重构模块和运行时支撑模块。应用重构模块通过程序分析算法,获取可以转移的计算任务和传感器功能,并通过程序插桩算法,在字节码层次改写这个安卓应用,使得这个应用具有计算任务和传感器功能转移的能力,同时用户也可以在插桩时选择自己希望转移的计算任务;运行时支撑模块被部署到移动设备以及服务器上,使得实际运行时通过应用重构模块处理的安卓应用能够真正地进行计算任务和传感器功能的转移。本发明支持大部分安卓固件,学习难度小,部署成本较低,计算任务和传感器功能的转移过程简单,转移过程对用户透明。可以实现一定程度的降低能耗,提高性能,延伸传感能力的效果。

    一种安卓应用并发漏洞检测系统

    公开(公告)号:CN106529304A

    公开(公告)日:2017-03-22

    申请号:CN201610952304.7

    申请日:2016-10-27

    申请人: 南京大学

    IPC分类号: G06F21/57

    CPC分类号: G06F21/577 G06F2221/033

    摘要: 本发明公开了一种安卓应用并发漏洞检测系统,包含并发漏洞分析模块、应用插装模块和应用执行模块;所述并发漏洞分析模块用于分析应用中的潜在并发漏洞,并传递给应用插装模块;应用插装模块根据并发漏洞分析模块的检测结果,在疑似数据竞争代码处插入能够改变线程调度的语句,在后台线程入口方法处插入能够阻塞线程运行的控制代码,同时插入获取应用运行时刻状态信息的后台服务;应用执行模块会运行被插装过的应用,并产生成对的疑似事件发送给应用以触发潜在的并发漏洞。本发明检测结果正确高效,全程自动化,不需要用户额外参与。

    一种基于用户执行踪迹重放的移动应用测试方法

    公开(公告)号:CN104156308A

    公开(公告)日:2014-11-19

    申请号:CN201410364808.8

    申请日:2014-07-29

    申请人: 南京大学

    IPC分类号: G06F11/36

    摘要: 本发明公开了一种基于用户执行踪迹重放的移动应用测试方法,其步骤包含:记录用户对某移动应用的一次执行踪迹;分析该执行踪迹,并确定若干个停止点;重放应用的执行踪迹,直至某个停止点;从停止点开始,执行自动化测试方法。本发明利用少量的用户执行踪迹信息引导自动化测试过程,以一种简单可行的方式弥补了自动化方法难以处理复杂交互的不足,大大增强了代码的覆盖率,从而提高了测试效率和质量。

    基于图形处理器的并行化约束检测方法

    公开(公告)号:CN104123178A

    公开(公告)日:2014-10-29

    申请号:CN201410358441.9

    申请日:2014-07-25

    申请人: 南京大学

    IPC分类号: G06F9/46

    摘要: 本发明是一种基于图形处理器的并行化地检测约束的方法,步骤:1)以量词为分割点,将一条约束分割成若干处理单元,通过调度这些处理单元,消除检测过程中的递归并最大化并行度;2)根据当前的处理单元和信息集合,产生相应数量的GPU线程,每个GPU线程根据自身的线程号计算其对应的变量赋值,并处理在此赋值下的处理单元。一个被赋值的处理单元称为一个并行计算单元,并行计算单元是能在GPU中并行处理的最小单元;3)索引-结果池的二层次存储策略,所有并行计算单元的节点产生的非定长结果存储在结果池中,而在索引中存储节点产生的结果在结果池中的起始地址和长度,该策略“串行分配空间,并行写结果”,能达到较高的写速度。