赵建军
- 作品数:12 被引量:10H指数:2
- 供职机构:中国科学院软件研究所更多>>
- 发文基金:国家自然科学基金国家重点实验室开放基金国家重点基础研究发展计划更多>>
- 相关领域:自动化与计算机技术航空宇航科学技术金属学及工艺医药卫生更多>>
- 微机上ASIC-CAD集成环境开发及RISC处理器实现
- 赵建军
- 面向方面程序的调用图生成算法被引量:1
- 2008年
- 调用图(callgraph)分析是进行程序分析、程序理解、软件测试和软件维护的重要基础。目前已提出的调用图生成算法多数是针对面向对象编程;而面向方面编程作为面向对象编程的扩展,还没有比较良好的调用图生成算法。为此,分析了既有的面向对象程序调用图生成算法,讨论了面向方面程序语言(AspectJ为例)的特殊语言元素及其对生成的调用图的影响,从而构筑了面向方面程序调用图的生成算法。
- 李楠赵建军沈备军张艳
- 关键词:调用图面向方面程序ASPECTJRTAPVG
- 基于分解的重构验证的研究
- 2012年
- 重构可以改进既有软件的设计、提高软件质量,是一种行为保持的转化过程。自动化重构工具的广泛使用使得提高它的可靠性变得十分重要,然而即使是很简单的重构方法仍会导致许多错误,这些错误将会导致程序转换前后的行为不一致。因此提出对重构方法的形式化验证,只有这样才能将分析覆盖到所有可能的情况,完全地保证重构前后程序行为的一致性,即重构过程的正确性。该研究方向对软件发展的前景是十分有利的,但同时在程序验证的挑战性上也是十分巨大的。分析了基于分解的重构验证方法,并应用该验证方法,选择重构方法之一的"搬移字段"方法进行了详细的分析和验证。在完善重构验证这一研究方向作出了一定贡献。
- 雷达成赵建军
- 支持契约式设计的Java静态验证器的研究被引量:1
- 2008年
- 基于对Java编译器的扩展和静态验证技术提出了VeriJava项目,与相关工作相比,它的优点在于从语言层面扩展了Ja-va,并且全面支持动态和静态的契约检查。首先介绍了VeriJava项目的整体架构,及其对Java进行的语言层面的扩展,进而重点讨论了方案的核心部分基于定理证明器的静态验证器的理论和设计,并给出了相关示例。
- 章程赵建军沈备军陈昊鹏
- 关键词:JAVA
- X10程序的差别分析方法
- 2015年
- 程序差别分析是程序调试的常见手段,其主要用于分析程序不同版本之间的差异信息.然而,将现有程序差别分析算法扩展到并行程序语言还面临众多挑战.其主要原因在于并行程序复杂性较高,且存在支持并行活动的特殊机制,如地址(或线程)、活动、同步等,从而为有效进行程序差别分析设置了障碍.文中研究基于PGAS模型的X10并行程序的程序差别分析方法,并设计了一种语句级的、针对X10程序的程序差别分析算法X10Diff.X10Diff包括下列步骤:(1)匹配原程序和修改后程序中的类、接口、方法及地址;(2)为待分析程序片段构建基于地址的程序流图,并建立相应简化图;(3)迭代扩展并比较简化图,并将差别信息定位到代码中.
- 陈雨亭杨威赵建军
- 关键词:X10程序流图软件测试
- 基于AOP的面向对象程序的单元测试被引量:5
- 2007年
- 单元测试被视为横切关注点,在软件测试过程中很重要。而面向方面编程(AOP)的主要目标就是分离横切关注点,因此,单元测试非常适合用AOP来解决。该文提出了在对面向对象程序进行单元测试时遇到的问题,并用AOP方法加以解决,同时比较了传统方法和AOP方法进行单元测试的优缺点。
- 张艳赵建军冯斌
- 关键词:面向方面编程ASPECTJ
- AOP程序控制流图的生成方法被引量:1
- 2008年
- 面向方面编程AOP(Aspect Oriented Programming)为开发者提供了一种机制来描述横切关注点。它能够自动地将横切关注点织入到面向对象的软件系统中,从而实现了横切关注点的模块化。然而AOP这种对横切关注点封装、织入的独特性为分析程序结构带来了困难,对传统的程序分析技术提出了新课题。通过分析AOP程序的特殊性,提出了基于AspectJ构造AOP程序控制流图的方法。该方案可以为AOP程序的理解、验证、测试以及重构提供控制流分析平台。
- 冯斌赵建军李楠
- 关键词:面向方面编程
- 面向方面软件动态耦合的度量被引量:1
- 2008年
- 耦合性是两个模块间相互作用的测度。面向方面编程是一种新的编程范型,它支持关注点的分离。目前,对于面向方面软件耦合度量的常用方法是对软件进行结构分析和静态代码分析。然而,由于系统中的动态绑定以及代码中大量无用的方面代码导致静态度量结果无法精确地反映程序运行时的实际耦合。首先提出适用于面向方面软件的动态耦合度量框架。接着,在该框架的基础上,根据不同的耦合关系类型,形式化定义了动态耦合度量指标集,并验证数学属性。最后,讨论了动态耦合度量工具的实现。
- 杨晗玥沈备军赵建军
- 关键词:耦合性
- 基于契约式设计的Java编译器实现被引量:2
- 2007年
- 本文通过实现一个基于VeriJava语法与语义检查、验证的编译器,试图在编译阶段通过对方法,类等先决条件与后置条件的验证,在逻辑上保证方法的正确性,帮助开发人员在开发的过程中及时找到设计错误或协调沟通问题,促进交流与理解,使开发过程更为完善。
- 张嘉铭张思博赵建军
- 关键词:契约式设计JAVA编译器
- 基于XML的切入点描述机制
- 2008年
- 目前,绝大多数的面向方面编程AOP(Aspect-Oriented Programming)工具都使用连接点模型来描述aspect和class的关系,但是对于切入点,所有的工具都使用纯文本类型的字符串来描述,而这会给今后的开发和维护带来一系列问题。为了解决这些问题,提出一种新的切入点描述机制——基于XML的方面切入点描述语言XAPDL(XML Aspect Pointcut Description Language,)。XAPDL完全独立于基本关注点和横切关注点,并专注于描述这两者之间的关系。XAPDL能非常有效地改善横切模块的演进、重用和维护,并且通过软件工具而非传统的手工操作,程序员能非常容易地维护切入点。
- 朱奇赵建军
- 关键词:面向方面编程XML技术