面向需求及设计的逆向工程关键技术研究

被引量 : 4次 | 上传用户:dailynice
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件系统规模的扩大和复杂程度的增加,软件维护成本也随之增长,针对遗产系统进行有效的维护和改善变得越来越重要。由于在遗产系统的维护过程中,往往存在需求和设计文档过期或缺失的现象,因此,需要提取和分析代码的实现,恢复出需求和设计的信息帮助进行程序理解和维护,进而开展代码和设计等方面的重构工作。从逆向分析中获取的信息,对分析软件需求特征是否在后续的设计和开发中得到实现(特征定位)、恢复出的现有的结构模式(如设计模式)以及识别代码重复模式(如克隆代码)等方面都有很大帮助,恢复的信息也可以用于新开发系统的设计复用和现有系统的结构改进等方面。近年来国内外对逆向工程的研究仍然属于一个未充分发展的领域。在现有的软件需求逆向恢复中,方法一般都只是单纯地借助于语法信息,包括文档结构信息以及程序中的面向对象语法结构、调用关系、数据访问关系等。往往忽略了文档及代码文本中的语义信息,特别是代码及文档中标识符、关键字等命名信息;在进行设计和架构的逆向分析中,方法也多集中在研究静态的语法结构方面,而忽略了软件的动态交互特性,从而在很大程度上影响了需求信息逆向恢复的完整性和正确性。本文的研究试图弥补上述研究方面存在的不足。主要工作包括:结合代码的静态分析和动态跟踪技术,采用形式化概念分析的方法对代码进行聚类获得候选的需求特征。利用潜在主题提取技术从代码中聚类标识符的语义,并应用特征定位和特征识别的组合方法来提高查询的准确度。结合系统的静态视图和动态交互信息进行设计模式的识别,采用本体模型进行设计模式的恢复工作,通过代码分析收集模式规则,将代码映射到本体实例,并通过动态分析检验是否候选模式的实际行为符合其实例化的模式定义。采用对标识符系列进行顺序模式挖掘的方法,挖掘重复代码的模式,即所谓的克隆代码。并在开发的算法工具中设置规则过滤,有效的提高了识别克隆代码的准确程度。从动态轨迹挖掘出的关联规则帮助恢复系统结构的方法。通过收集运行时事件,对形成的矩阵进行聚类和关联规则挖掘,由聚类得到最初的结构,根据获得的强关联规则建立软件间关联关系,对聚类的组件进行连接。
其他文献
<正>洮砚产于洮河流域,现今甘肃省甘南藏族自治州卓尼县境内。驱车前往卓尼访洮砚。其实要看砚台,甘肃处处都有卖的,随便进个特产专卖商店,定然在醒目处镇店宝贝一般摆着几方
通过对鄂尔多斯盆地杭锦旗地区古生界断裂特征、埋藏历史、包裹体特征、生烃历史、砂岩致密化过程进行分析,认为该地区天然气成藏存在2个成藏期。第1成藏期发生在侏罗纪以前,
从营销中应收账款对农业产业化加工企业影响入手,分析农业企业应收账款管理中存在问题,有针对性地提出解决的对策和措施,对农业企业应收账款管理工作有一定作用。
为了完成繁重艰巨的公安保卫任务,广大公安民警普遍长期超时、超负荷地工作着,有的年纪轻轻,却积劳成疾,不少民警累倒在工作岗位上。因此,分析警察休息权受侵害的原因,从法律
娱乐是大众媒介的重要功能之一,但其的过度娱乐化带来了一些问题,应正确认识这一现象,并寻找应对措施。
作为"微时代"组成部分的微电影,经过巧妙融合,成为植入式广告的绝佳载体后,不但可以给企业带来利润和美誉度,也可以给消费者带来美的享受,是广告业的一大进步。但是,作为新兴
<正>2002年,国家公布了全日制教育音乐课程新标准,掀起了音乐教育新一轮改革,改革的核心是从"以教师为中心"向"以学生为中
<正>测定电源电动势和内阻是重要的电学实验,它涉及实验原理、电路选择、数据处理、误差分析。其中误差分析,学生往往感到难以理解和把握。本文试图从多个角度加以研究,通过
根据腾冲县农业种植业结构调整和高原特色农业发展的需要,将腾冲农业功能布局划分为四个区域,即:北部农业区、西北部农业区、中部农业区、南部农业区,以期更好地发展高原特色
目前,我国乡镇机关都在不同程度上存在种种行政违法现象,每个行政管理领域、每个部门都或多或少存在行政违法行为。这些现象和行为严重影响了政府行政机关的形象,恶化了党群