一种基于深度学习与程序合成的C/C++程序缺陷自动修复方法

    公开(公告)号:CN108829438A

    公开(公告)日:2018-11-16

    申请号:CN201810727406.8

    申请日:2018-07-05

    Applicant: 南京大学

    Abstract: 本发明基于深度学习与程序合成的C/C++程序缺陷自动修复方法,输入带有缺陷的C/C++程序、错误定位信息、程序需要满足的规约以及满足相同规约正确程序集,通过学习正确程序中的书写结构,建立一个正确书写结构模型;根据错误定位信息,将错误点之前的代码结构作为模型的输入,预测错误点的书写结构,扩展成修复候选项集,并组织成选择表达式的形式;使用程序合成方法,将带有选择表达式的程序和该程序需要满足的规约转化为逻辑表达式,使用约束求解器,在设定的时间内进行求解;根据每个选择表达式的选项,输出最终的C/C++代码,得到修复后程序。本方法在多项式的时间复杂度内修复C/C++程序常见缺陷,保证修复后程序正确性。

    一种基于目标规约满足度评估的并发程序合成方法和装置

    公开(公告)号:CN108804135A

    公开(公告)日:2018-11-13

    申请号:CN201810426842.1

    申请日:2018-05-07

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于目标规约满足度评估的符合规约并发程序合成方法和装置。该方法或装置通过将用户提供的线性时序逻辑规约转换成限界线性时序逻辑规约,然后使用统计模型检验工具评估候选者满足规约的概率,计算每个候选者的适应度,然后再根据该适应度采用遗传算法得到新的候选程序,避免了模型检验工具直接逐个检验候选程序,从而提高程序合成的生成效率。

    一种数值程序的全局优化方法

    公开(公告)号:CN108228187A

    公开(公告)日:2018-06-29

    申请号:CN201810001948.7

    申请日:2018-01-02

    Applicant: 南京大学

    Abstract: 本发明提出了一种数值程序的全局优化方法,利用符号执行技术从源程序中抽取用于表述路径约束条件以及数值计算过程的代数表示。并分析每个代数表示,通过运用不同地代数变换规则将其转换成数值计算误差更小的代数形式。最终把每个代数表示转成相应的代码片段,并将它们组合生成目标程序。本发明具有以下优势:所有过程均为自动化过程,无需人为干预;程序编写者可以更专注于业务逻辑,而无需关心与数值分析相关的细节操作。这样既提高了开发效率,又使代码逻辑直观易懂,易于维护。

    基于模型转换由midcore生成Spark和Hadoop程序代码的方法

    公开(公告)号:CN108153522A

    公开(公告)日:2018-06-12

    申请号: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程序开发的复杂性。

    基于XACML访问控制机制的Android应用访问控制代码生成方法

    公开(公告)号:CN108021362A

    公开(公告)日:2018-05-11

    申请号:CN201711392701.4

    申请日:2017-12-21

    Applicant: 南京大学

    Abstract: 本发明公开了基于XACML访问控制机制的Android应用访问控制代码生成方法,给定一个Android应用的功能实现代码,以及描述其行为和资源的访问控制需求的XACML策略、刻画其活动的UML活动图模型,能够为需要访问控制授权的行为和资源生成满足访问控制策略的代码,并插入到Android应用源代码中相应位置,使其成为一个完整的Android应用系统。本发明所述的方法使用XACML语言描述访问控制策略,可以更细粒度地对访问控制策略进行定义,对应用系统的访问控制需求可以进行更具体的描述。本方法通过生成访问控制代码的方式,实现了访问控制逻辑的产生和复用,降低了应用系统的开发人员的工作量和错误率。

    一种基于MongoDB实现图转换的方法和装置

    公开(公告)号:CN104794244B

    公开(公告)日:2018-02-16

    申请号:CN201510241080.4

    申请日:2015-05-13

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于MongoDB实现图转换的方法和装置。本发明输入元模型、模型实例和转换规则。通过在MongoDB中构建元模型存储的数据结构,然后将模型实例存入MongoDB中,再通过MongoDB查询、更新、插入等数据库操作将模型实例中符合转换规则前置条件的模型实例片段转换成转换规则后置条件形式下的模型实例片段。本发明模型转换以MongoDB为中介,可以实现大规模的模型转换,并且可以支持分布式的模型转换,转换后的模型也存储在MongoDB中,便于对输出模型的查询以及修改。

    一种基于IFML的iOS开发建模方法

    公开(公告)号:CN107133042A

    公开(公告)日:2017-09-05

    申请号:CN201710307279.1

    申请日:2017-05-04

    Applicant: 南京大学

    CPC classification number: G06F8/35

    Abstract: 本发明基于IFML的iOS开发建模方法,步骤一、IFML基于移动平台的拓展进一步针对iOS平台进行拓展,确定并抽象出iOS平台应用的整体运行流程;步骤二、使用交互流建模语言IFML针对移动平台的扩展,对步骤一中iOS应用整体运行流程进行初步交互流建模;步骤三、在IFML针对移动平台拓展的基础上,针对iOS应用平台进行进一步拓展,使用针对iOS应用平台拓展的IFML,进行面向实现的交互流建模;步骤四、对步骤三中的iOS应用平台的交互流模型,结合项目需求和iOS版本信息,完成应用开发。本发明基于模型驱动方式,对iOS移动应用进行抽象提取交互流模型,并使用针对iOS平台扩展的IFML对其进行建模。

    一种由转换原语生成Spark代码的方法

    公开(公告)号:CN106843858A

    公开(公告)日:2017-06-13

    申请号:CN201611252903.4

    申请日:2016-12-30

    Applicant: 南京大学

    Abstract: 本发明公开了一种由转换原语生成Spark代码的方法,包括步骤:步骤10:设计表示数据模型变换的转换原语语法;步骤11:输入一个数据模型变换的原语文件,作为代码转换器的输入文件;步骤12:利用Xtext实现代码生成器的文法构造,完成转换原语的语法解析;步骤13:利用Xtend实现代码生成器的转换规则,建立转换原语与Spark代码之间的映射;步骤14:将模型变换的原语文件输入代码生成器;步骤15:得到输入、输出数据类和转换规则的Spark代码;本发明将一组描述数据转换的转换原语生成具有相同转换操作的Spark代码,降低数据平台开发人员使用Spark平台的复杂性,简化数据转换过程,降低基于Spark平台的大数据转换实现成本。

    一种智能手机遥控智能电视的交互方法

    公开(公告)号:CN103561308B

    公开(公告)日:2016-08-17

    申请号:CN201310543036.X

    申请日:2013-11-05

    Applicant: 南京大学

    Abstract: 本发明提出一种智能手机遥控智能电视的交互方法,以解决智能手机遥控智能电视过程中用户视觉和记忆负担过重问题。该发明方法在智能手机和智能电视上设立交互模块,这些模块用于通信、操作控制或显示处理,智能手机通过无线信道对智能电视进行控制,实现对智能电视视频播放的操作和信息分享。本发明方法能够将智能手机遥控智能电视过程中的视线从手机屏幕上解脱出来,增强智能手机和智能电视之间的交互,解决现有智能电视遥控设备的不足,减少遥控设备的生产成本。

    最小不满足树制导的混成系统可达性分析方法

    公开(公告)号:CN103279488B

    公开(公告)日:2016-08-17

    申请号:CN201310146921.4

    申请日:2013-04-24

    Applicant: 南京大学

    Abstract: 本发明提出最小不满足树制导的混成系统可达性分析方法,包括以下步骤:解析混成自动机,生成该混成自动机的图结构;在混成自动机的图结构上,从初始节点开始做深度优先搜索,在每遍历一个节点前,对已遍历的路径与以该节点为根的最小不满足树进行匹配,如果匹配成功,则不遍历该节点并回溯至另外的节点进行深度优先搜索,否则遍历该节点并根据目标节点遍历出一条到达目标节点的目标路径;根据混成自动机的语义对遍历出的目标路径进行编码,形成一组线性约束;调用线性规划求解器对该组线性约束进行求解,如果可解则输出该路径作为结果,否则转下一步骤。

Patent Agency Ranking