-
公开(公告)号:CN108153522B
公开(公告)日:2020-05-05
申请号:CN201711418644.2
申请日:2017-12-25
Applicant: 南京大学
Abstract: 本发明公开了一种由模型转换中间语言midcore生成Spark和Hadoop程序代码的方法。包括步骤1:建立两个xtext项目,分别对midcore语言进行抽象,抽出其中的语法树,进行建模,书写xtext的语法计解析器代码,步骤2:用xtend在其中一个项目中书写从midcore映射至Spark代码的转换规则,步骤3:用xtend在另一个项目中书写midcore映射生成Hadoop代码的转换规则。本发明将可以由现有的模型转换语言转换而成的中间语言对Spark和Hadoop两个平台的代码做了映射,为模型转换语言和Mapreduce程序实现了桥接,同时支持由midcore直接描述模型转换,生成Mapreduce程序代码,降低了Mapreduce程序开发的复杂性。
-
公开(公告)号:CN106844339B
公开(公告)日:2020-04-28
申请号:CN201710012347.1
申请日:2017-01-09
Applicant: 南京大学
IPC: G06F40/284 , G06F40/211 , G06F40/205 , G06K9/62
Abstract: 本发明公开了一种基于词向量的多平台控件对应方法,包括如下步骤:寻找与控件、UI设计、页面布局文件相关的英文文档组成词向量的训练集;使用stanford工具对英文文档进行分词得到单词序列;对得到的单词序列使用word2vec进行词向量训练,得到每个单词的向量表示;找到平台网站上的控件描述文本;将这些描述文本分词之后训练得到词向量,进而转化为句向量;计算每两个向量之间的距离,选出相似控件。本发明根据官方的空间描述找到的多平台控件对应关系可以减少同一平台上版本更替所需要修改的代码,并且会在跨平台代码转化中的UI部分起到相当大的推荐作用。还有,本发明的思路会对其他的工程设计尤其是API对应有着借鉴意义。
-
公开(公告)号:CN108228187B
公开(公告)日:2020-03-17
申请号:CN201810001948.7
申请日:2018-01-02
Applicant: 南京大学
IPC: G06F8/41
Abstract: 本发明提出了一种数值程序的全局优化方法,利用符号执行技术从源程序中抽取用于表述路径约束条件以及数值计算过程的代数表示。并分析每个代数表示,通过运用不同地代数变换规则将其转换成数值计算误差更小的代数形式。最终把每个代数表示转成相应的代码片段,并将它们组合生成目标程序。本发明具有以下优势:所有过程均为自动化过程,无需人为干预;程序编写者可以更专注于业务逻辑,而无需关心与数值分析相关的细节操作。这样既提高了开发效率,又使代码逻辑直观易懂,易于维护。
-
公开(公告)号:CN106648617B
公开(公告)日:2019-10-15
申请号:CN201611023955.4
申请日:2016-11-14
Applicant: 南京大学
IPC: G06F8/20
Abstract: 一种基于扩展的UML2序列图的中断驱动系统建模方法,步骤如下:步骤1:扩展UML2序列图,新增中断交互操作类型用于描述中断的发生和响应处理;步骤2:将中断驱动系统的执行流程划分为一个中断外交互和若干个中断内交互;步骤3:根据UML2序列图规范对中断外的流程进行建模;步骤4:根据步骤1中定义的中断组合片段对中断的发生和响应处理进行建模;步骤5:对中断驱动系统的时间约束进行建模;本发明扩展了UML2序列图,使之能够描述中断驱动系统,为中断驱动系统设计人员提供了直观形象、易于理解的建模方法;有利于中断驱动系统的建模设计、以及相关的模型验证、模型转换以及模型到代码的生成。
-
公开(公告)号:CN108170466B
公开(公告)日:2019-09-20
申请号:CN201711394256.5
申请日:2017-12-21
Applicant: 南京大学
Abstract: 本发明公开一种基于程序合成的C/C++程序缺陷自动修复方法,输入带有缺陷的C/C++程序,根据常见的程序缺陷和缺陷程序的类型,设置重写规则,重写规则包括缺陷模式和修复选项。之后将缺陷模式与缺陷程序的语法树进行匹配。若不存在任何匹配的重写规则,则表明无法修复该程序的缺陷。若存在匹配的重写规则,则将匹配的语法树子树替换为选择表达式。之后使用程序合成方法,根据该程序需要满足的规约,得到每个选择表达式的选项。程序合成方法将带有选择表达式的程序和该程序需要满足的规约转化为逻辑表达式,之后使用约束求解器,在设定的时间内进行求解,代入每个选择表达式的选项,将语法树输出为C/C++代码,得到修复后的程序。
-
公开(公告)号:CN110175019A
公开(公告)日:2019-08-27
申请号:CN201910480184.9
申请日:2019-06-04
Applicant: 南京大学
IPC: G06F8/10
Abstract: 本发明公开了一种基于中断序列图的中断驱动系统验证方法,包括如下步骤,步骤1:基于中断序列图来建立中断驱动系统模型;步骤2:根据步骤1得到的中断序列图,将其中的交互片段划分为基本交互和复合交互片段;步骤3:将基本交互片段和复合交互片段依次转换成自动机;步骤4:将步骤3中得到的多个自动机组合成一个混成自动机;步骤5:提取中断序列图的约束,将约束添加到转换得到的自动机模型上;步骤6:提取中断序列图中的验证属性信息,将验证属性作为约束添加到转换得到的自动机模型上;步骤7:将自动机描述成自动机验证工具可接受的输入格式;步骤8:采用自动机验证工具进行验证。
-
公开(公告)号:CN109710539A
公开(公告)日:2019-05-03
申请号:CN201910044054.0
申请日:2019-01-17
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明基于字节码操作的安卓软件增强测试方法,步骤一、基于安卓开发框架,确定一个安卓开发版本以及一个安卓软件包,扫描并确定其中存在的资源相关的可能抛出异常的方法;步骤二、通过字节码操作技术,将方法与异常的分析和触发代码植入步骤一中的安卓软件包,并生成修改过的软件包以及植入位置的报告;步骤三、针对步骤二中产生的软件包和报告,编写被植入代码控制策略的配置文件;步骤四、确定安卓软件测试框架和测试用例,执行测试,收集测试用例报告以及执行过程中产生的日志,用于下一次测试。本方法基于字节码操作技术,对安卓软件代码中的资源相关方法的异常进行分析和控制,从而对原有测试进行增强。
-
公开(公告)号:CN109710538A
公开(公告)日:2019-05-03
申请号:CN201910042564.4
申请日:2019-01-17
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明涉及一种用于大规模系统中状态相关缺陷的静态检测方法,首先将大规模系统中与状态相关的缺陷抽象为有限状态机表示的形式。其次基于符号执行技术产生过程间控制流执行树(ICFET),并提出了一个新的基于区间的路径编码/解码算法来表示路径约束。然后基于ICFET以上下文敏感和路径敏感的方式进行别名分析和数据流分析,跟踪每个指定类型的每个对象的流,以识别可能在对象上发生的事件序列。最后根据ICFET以及别名分析和数据流分析产生的程序图,进行基于约束的图可达性计算,如果可达边能够到达有限状态机中未定义或错误状态,则存在可以将一个对象或一组对象驱动到规范上的未定义或错误状态的事件序列,生成错误报告。
-
公开(公告)号:CN109558725A
公开(公告)日:2019-04-02
申请号:CN201811478895.4
申请日:2018-12-05
Applicant: 南京大学
Abstract: 本发明公开了一种基于插桩的针对Android系统动态加载情况的隐私保护方法。本发明适用于解决对所有Android系统动态加载情况下的隐私泄露问题,其通过插桩检测Android系统中的隐私相关API在动态加载时的行为,如果这些API的行为满足一定的模式则可以判断其为恶意行为。当一个Android应用在系统上运行时,如果出发了系统对隐私行为的保护就阻止这样的行为。
-
公开(公告)号:CN106021103B
公开(公告)日:2019-01-04
申请号:CN201610323917.4
申请日:2016-05-16
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明提出的一种基于代码变更的移动应用测试脚本自动维护方法,包括以下步骤:步骤1、代码变更分析:分析新旧版本代码中产生变化的代码,进行过滤后,获取导致界面行为模型产生变更的代码变更;步骤2、模型变更分析:利用代码和模型中元素的对应关系对模型进行行为变更分析,得到行为变更信息以及模型变更信息,将变更应用在模型中,得到新模型;步骤3、脚本变更修复:将脚本语句抽象为事件序列,根据行为变更信息、模型变更信息,修复和更新脚本对应的事件序列,得到能够正常使用的新脚本。对受到影响的脚本中的事件序列进行自动的维护和更新,最终得到可以应用在新版本中的脚本,以减轻测试人员维护脚本的负担。
-
-
-
-
-
-
-
-
-