基于程序切片的Java多态性研究

被引量 : 0次 | 上传用户:wangxingkun
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序切片是一种有效的程序分析技术,它能根据给定的切片准则从源程序中提取出所需部分进行分析,如进行程序调试、测试、程序重构分析等。程序切片技术在结构化程序中已有较广泛的应用,但对于像Java这样的面向对象语言程序,其研究与应用还存在一些待解决的问题。作为典型的面向对象编程语言,Java程序的切片技术很有代表性。Java程序中的参数传递、多态性、异常处理、多线程等问题,是当前程序切片技术研究领域的重点和难点问题。论文通过对Java语言程序特性的分析,特别是方法间依赖关系的分析,应用了一种改进后的系统依赖图(ISDG)进行Java程序多态性研究。首先针对子类和父类方法间的依赖关系对每个重写或覆盖后的方法构造局部的系统依赖图(LSDG),再针对对象间的依赖关系构造不含对象方法间依赖关系的系统依赖图(SDG)。最后针对对象方法间的依赖关系在上一步的系统依赖图中添加方法间的依赖边,得到改进后的系统依赖图(ISDG)。使用ISDG成功地解决了Java程序中多态性表示的问题。同时,本文还使用了一种Java程序的切片准则,并给出其基于ISDG的切片算法。为了使ISDG更具有普遍性和实用性,论文将ISDG扩展到了更为复杂的多态性问题,并针对在复杂的ISDG中存在着大量重复的局部ISDG这一现象,提出了解决办法:将重复调用的节点标记为重用的叶子节点。从而简化了ISDG,降低了复杂度,提高了效率。通过与采用插桩法的OODSDG进行比较,进一步论证了ISDG的特点和优势。
其他文献
随着科技的发展,"代孕"现象走进了人们的视线。"代孕"实质是"试管婴儿"技术的延伸,科技发展带来的产物。对于这一问题,支持和反对代孕的呼声几乎不相上下,支持者认为,那些不
以珠海市为研究区域,基于GIS、SPSS以及GeoSOS软件,在分析1973—2008年珠海市耕地动态变化,总结其时空变化特征的基础上,使用Logistic-CA模型从空间角度深入分析了珠海市耕地
布雷顿森林机构成立于1945年,至今已走过了六十年的历程。在过去的半个多世纪里,布雷顿森林机构作为世界经济秩序三大支柱中的两大支柱,在促进世界经济稳定发展、推动各国经
采用钻孔深部位移监测法,结合工程地质调绘、地表变形监测和室内土工试验,研究了某金矿堆渣体引起潜在滑坡的形成机制,对该潜在滑坡的稳定性进行了分析评价。监测和分析结果
<正>课堂教学是一种教师与学生共同参与的复杂性活动,更是一门艺术,然而当下的语文课堂还没有从根本上改变"费时多而收效微"的状况。语文课堂教学应该是务实高效的,从某种意
长期以来,在韩国语教学中,写作一直是一个薄弱环节。在以往的精读教学中,因为重输入轻输出,写作没有被给予足够的重视,没有作为一项特定的语言表达技能贯穿于整个教学中。而
陆游是一个至死都不忘收复中原的伟大的爱国诗人,"恨不见中原"是他一生最大的隐痛。而陆游的内心深处还有一大隐痛是唐琬,这个让老诗人行作嵇山之土了还泫然悼念的美丽的人。
驴的形象憨傻,因此"驴"(donkey)字在中西方文化中均有"蠢笨"的含义。随着其在语用环境中的使用,衍生出的很多与驴相关的习惯表达,也多为贬义。但因中西方文化的不同,驴也有其
基于2000、2010年两次全国人口普查分县数据,利用变异系数分析方法和空间自相关方法,在Arc GIS和Geo DA等软件的支持下,以人口半城市化率为探测指标,从总体特征、时空演变、