在软件开发过程中,变化影响分析是一项非常重要的技术。这项技术可以用于分析得到一个阶段中代码的改变(增加新代码,删除旧代码,修改源代码)对整个程序所产生的影响,并且将这种影响有效地返回给程序员,使程序员在后续的工作中能够做出正确的决定。目前,已经存在很多方法来实现基于面向过程和面向对象程序的变化影响分析,却很少涉及到面向方面编程的领域。本研究拟以面向方面编程语言为目标,提出了一种新的变化影响分析技术。该技术的核心在于归纳定义一系列原子变化,并用这些原子变化完全捕捉两个程序版本间的语义不同。本研究同时也希望提出了一种新的变化影响分析模型,该模型基于静态的面向方面程序的系统调用图,用于找出被影响的程序代码片段、回归测试用例及影响它们(回归测试用例)的源代码修改部分。最后,我们将提供面向方面软件变化影响分析的集成工具集,它将有益于提高面向方面软件的开发效率和可靠性。
面向方面软件开发(Aspect-Oriented Software Development, AOSD)是一种支持分离软件关注点的新技术,这种新技术使得系统的一些横切特性能够模块化,从而提高了软件的可维护性,可复用性及可靠性。在软件开发过程中,变化影响分析是一项非常重要的技术。这项技术可以用于分析得到一个阶段中代码的改变(增加新代码,删除旧代码,修改源代码)对整个程序所产生的影响,并且将这种影响有效地返回给程序员,使程序员在后续的工作中能够做出正确的决定。目前,已经存在很多方法来实现基于面向过程和面向对象程序的变化影响分析,却很少涉及到面向方面编程的领域。本研究拟以面向方面编程语言为目标,提出了一种新的变化影响分析技术。该技术的核心在于归纳定义一系列原子变化,并用这些原子变化完全捕捉两个程序版本间的语义不同。本研究同时也希望提出了一种新的变化影响分析模型,该模型基于静态的面向方面程序的系统调用图,用于找出被影响的程序代码片段、回归测试用例及影响它们(回归测试用例)的源代码修改部分。最后,我们将提供面向方面软件变化影响分析的集成工具集,它将有益于提高面向方面软件的开发效率和可靠性。本课题取得了如下研究成果。(1)提出并进一步完善了基于原子操作得面向方面软件的变化影响分析理论模型;(2)提出了面向方面软件系统调用图的增量式构建算法并开发了相应的工具原型;(3)提出了面向方面程序的指向分析模型,并开发了相应的支持工具。根据指向分析的模型以及实验数据所撰写的论文已经完成,将于明年初投稿到程序分析领域的著名会议;(4)在利用面向方面软件的影响分析技术对自动化调试的改进方面,提出了基于断言的面向方面程序的调试技术;(5)作为主要组织者,项目负责人在 2010年9月及2011年10月在东京及上海成功组织召开了第6,7届亚太高级软件模块化会议(AOAsia/Pacific 2010/2011)(即原亚太面向方面软件开发国际会议),并在会上介绍了本课题有关面向方面程序的断言检测及上下文敏感的指向分析等研究成果,受到相关学者的好评;(6)被邀请参加面向方面软件开发领域的顶级国际会议AOSD 2011的程序委员会委员,并同本领域的研究者在包括面向方面软件开发等领域进行了广泛的学术交流;(7)在相关领域发表了多篇高水平的学术论文。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
论大数据环境对情报学发展的影响
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
硬件木马:关键问题研究进展及新动向
基于LASSO-SVMR模型城市生活需水量的预测
面向服务的软件理论、方法及其应用
面向方面软件的测试技术研究
面向方面软件结构模型设计及验证技术
实时软件时间变化影响分析研究