国家自然科学基金(61272086) 作品数:6 被引量:20 H指数:3 相关作者: 董渊 王生原 刘洋 闫鑫 杨斐 更多>> 相关机构: 清华大学 新疆大学 太原理工大学 更多>> 发文基金: 国家自然科学基金 国家社会科学基金 国家科技重大专项 更多>> 相关领域: 自动化与计算机技术 自然科学总论 更多>>
同步数据流语言高阶运算消去的可信翻译 被引量:8 2015年 Lustre是一种广泛应用于工业界核心安全级控制系统的同步数据流语言,采用形式化验证的方法实现Lustre到C的编译器可以有效地提高编译器的可信度.基于这种方法,开展了从Lustre*(一种类Lustre语言)到C子集Clight的可信编译器的研究.由于Lustre*与Clight之间巨大的语言差异,整个编译过程划分为多个层次,每个层次完成特定的翻译工作.阐述了其中高阶运算消去的翻译算法,翻译过程采用辅助定理证明工具Coq实现,并进行严格的正确性证明. 刘洋 甘元科 王生原 董渊 杨斐 石刚 闫鑫关键词:形式化验证 定理证明 实时系统组合抽象精化验证研究 2014年 实时系统已经广泛应用于人们工作生活中的各个领域,通常要求具有很高的可靠性,采用形式化方法对实时系统建模并验证是构建可信实时系统的重要手段.现有的实时系统大多是由组件构成的,为缓解组合形式验证中常见的状态爆炸问题,可以对实时系统组合模型运用时钟区域等价方法进行状态划分及合并,用构件抽象的组合建立构件组合的抽象并确保一致性,在验证过程中基于改进的反例引导的抽象精化框架对抽象模型进行精化以消除模型抽象可能引入的附加行为(伪反例).最后,以铁轨交通灯控制系统为例,通过相关实验进行数据分析与比较来说明方法的有效性. 梅佳 王生原 伍华健基于中间语言的JNI内存泄漏检查 被引量:4 2015年 JNI技术支持Java与本地C/C++的相互调用,在Android等混合语言实现的系统中有着广泛应用,但语言之间的安全特性差异使其成为安全薄弱环节,现有的分析方法难以处理多语言相互调用产生的安全缺陷.以JNI调用中易产生的内存泄漏为例,开展Java/C++JNI跨语言分析的研究.采用扩展的Java Bytecode(Bytecode*)指令作为C++语义的解释来消除跨语言分析的障碍.围绕JNI调用中内存泄漏的问题,做了以下3方面工作:1)定义兼容Java/C++语言的分块内存模型;2)基于LLVM/LLJVM,设计实现了C++到Bytecode*的翻译策略;3)建立方法调用图,提取方法摘要,利用过程间分析方法检测JNI调用中的内存泄漏.针对具有典型内存泄漏特征的JNI实例翻译检测表明,该工作能够准确检测出Java/C++混合语言中的内存泄漏,对于JNI混合语言编程的理解和漏洞分析具有重要价值. 蒋挺宇 王鹏 杨述 褥震 董渊 王生原 嵇智源关键词:语义扩展 字节码 内存泄漏 Android系统非应用层软件的管理和优化 被引量:1 2016年 提出一种Android系统非应用层软件的管理和优化方法,使用户能够方便地管理并更新系统非应用层软件,删除系统内多余的程序文件,减小系统体积消除潜在安全隐患。通过构建文件及模块之间的依赖关系将非应用层软件自动划分为软件包,以包为单位对非应用层软件进行更新、删除、查看等操作;利用C/C++函数的扩展调用图查找并删除系统内未被任何代码依赖的无用代码,实现了包含软件源构造器、软件源服务器和包管理客户端在内的Android包管理和优化系统。测试结果表明,相比传统下载系统镜像刷写flash以及OTA(over the air)等系统更新方式,通过包管理器更新系统在灵活性、额外流量开销、安装方便性及安装速度方面都有一定优势,优化后的系统总体积减少了约3433.3KB。 蔡完锡 李叠 刘昊 褥震 董渊关键词:客户端 服务器