基于静态语义分析的设计模式与用例识别

来源 :东南大学 | 被引量 : 0次 | 上传用户:y886520520886
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在现有的软件开发过程中,高层的设计概念和实现这些设计的程序设计语言成分之间常常缺乏直接的对应关系,导致很多设计概念湮没于琐碎的代码中。不能从代码中恢复出这些设计概念,意味着我们分析和理解软件能力的不足,也导致良好的设计理念不仅不能在后续的维护过程中得到发扬,还有可能被无意中破坏。现有的逆向工程技术在恢复高层设计的语法信息方面比较成熟,但在恢复语义信息方面还非常薄弱。   设计模式是对典型问题的典型解决方案,已经得到广泛应用。从程序代码中识别设计模式的研究近些年来得到越来越多的重视。但是现有研究主要识别其中的语法特征,对语义特征描述与识别的研究还非常少见。用例作为统一软件开发过程中软件全生命期的驱动者,也已得到广泛应用。但是由于程序设计语言中缺少对应的表达设施,在过程性和面向对象软件中无法保持用例的结构。目前从程序代码中恢复用例的研究还较少,很不成熟。现有研究均无法识别用例内部的基本流和备选流,难以识别不同用例间的关系。   本文的主要工作包括三个方面,第一方面是发掘设计模式的语义特征,并通过基于控制流和数据流分析的方法描述和识别设计模式的语义特征,主要是基于形态分析识别设计模式中的集中管理式聚集。另一方面是通过控制流分析和程序依赖性分析识别程序中的用例及用例间关系。第三方面,通过程序切片技术区分程序中彼此交织的不同计算,并扩展现有面向方面语言以分别封装包括扩展用例片段在内的细粒度交织计算,方便程序理解和维护。   论文工作主要包括以下几个方面:   ·在很多设计模式中存在的角色间聚集关系是设计模式中最为明显的语义成分之一,但是这些聚集关系缺乏明确的内涵和有效的识别方法。在设计模式的语境下提出了集中管理式聚集的概念。针对常见的利用指针或引用的聚集实现方式,针对现有形态分析方法中基于三值逻辑结构的谓词只能描述同一形态结构内个体间关系的局限,扩充了结构间谓词以表达分属不同结构的个体间的可达性和可追踪性。然后通过扩充了结构间谓词的三值逻辑结构描述链表上聚集管理操作的语义特征。在此基础上,给出基于控制流上链表形态结构的变化识别聚集管理行为的方法,由此识别相应的聚集关系和模式行为。针对聚集识别只涉及到少数类,因此只需要进行局部分析的问题,给出了通过求取有关类的稳定状态从而得到相关方法入口处形态结构的方法。通过开源软件JEdit中的实例分析展示了该聚集识别方法的有效性。   ·分析了用例内部的基本流和备选流所对应的控制流特征,分析了平等用例、具有包含和扩展关系的完整用例所对应的控制流特征,给出通过控制流分析识别用例基本流和备选流及识别平等用例的方法,以及结合控制流分析和程序依赖性分析识别完整用例间包含和扩展关系的方法。该方法较为符合软件理解的一般性思维过程,人工介入过程较为自然、有序,工作量小。   ·提出了结合控制流分析和程序依赖性分析识别扩展用例片段的方法,分析了具有扩展关系的用例与同一子程序内相互交织的不同计算之间的共性,提出了在现有AOP语言中扩充语句级连接点以单独封装细粒度扩展用例片段,分别封装相互交织的不同细粒度计算的方法。相对于现有方法,使用语句级连接点能够更好的表达不同计算之间的独立性和依赖关系。
其他文献
在信息检索领域排序学习方法是目前主流的排序技术,目前,排序学习方法的研究以文档独立性假设为前提,重点关注如何精准预测单个文档与查询之间的相关性得分,忽略了对文档之间
基于构件的软件开发是提高软件生产率、提高软件质量、解决软件危机的重要方法,是软件复用领域的研究热点;解决软件危机的另一方面是如何建立严格的数学方法,如何进行形式化
颅面复原是指在仅有颅骨信息的情况下,以相关领域知识为依据再现人脸面貌的过程,其在刑侦案件中尸骨身份辨认、考古领域古人物相貌重现和虚拟整形手术方面有着广泛的应用。本
洗车行为识别是复杂场景下人体行为识别的一个分支,目前简单场景下的人体简单动作的识别已基本得到解决,而复杂场景下的行为识别仍面临很多困难。洗车行中摄像头的特殊角度拍
电力是人们生活越来越不可缺少的一种能源,但是随着非线性负载在电力系统中的增加,使得电力系统受到的谐波污染日趋严重。电力谐波带来的危害,既影响电网中接连设备的寿命,也影响电网的自身安全。针对电力谐波进行研究,找到防治办法是非常重要的,防治的首要前提就是及时正确的获取谐波数据。本文针对要获取的电力谐波数据进行了分析,提出了基于USB的数据采集方案,并比较了基于传统总线的数据采集方式。随后,对USB的体
计算智能方法是受大自然智慧和人类智慧的启发而设计出的一类算法的统称。无论是在科学研究领域,还是工业生产领域,人们都避免不了遇到一些全局优化问题,然而随着时代的进步,
三维人脸重建和人脸动画合成画是当前计算机图形学、计算机视觉和图像处理领域中一个热点研究课题,在视频会议、影视制作、通讯等方面有着广泛的应用,具有很大的应用价值和商
电子地图具有对纸质地图的内容进行任意形式的要素方便组合、拼接成新地图的优势,可对电子地图进行任意比例尺、任意范围的绘图输出。本文通过对甘肃省庆阳市巴家咀水库的地
流形学习是近年来机器学习的热点问题之一,其目的是要发现嵌套在高维空间中的低维流形。本文针对流形学习研究中存在的几个不足,即:1)如何适合地度量流形问的距离;2)如何有效地
随着互联网和通信技术的发展,用户对于通信网络的要求越来越高,传统单一的无线网络技术已经不能支撑用户日益增长的需求。虽然不同无线网络的异构融合技术的出现在一定程度上