基于并发Java程序切片的软件故障定位
发布时间:2018-04-03 14:05
本文选题:并发动态切片 切入点:程序切片谱 出处:《东南大学》2017年硕士论文
【摘要】:Java语言是一门简单的、面向对象的、分布式的、健壮安全的、平台独立的、可移植性强的、支持多线程的、动态的程序设计语言。在软件开发中,并发Java程序扮演着越来越重要的角色,原因主要有两个:一方面Java的卓越特性使得它在各个领域获得广泛的应用,另一方面当处理要求高性能的任务时,常常需要使用Java的多线程特性。在软件开发中,开发者把大量的时间和精力花费在定位软件故障中,而程序切片技术作为一种程序分解技术,在故障定位领域发挥着不可低估的作用。目前有关对并发Java程序的软件故障定位技术的研究较少。本文首先提出一种针对并发Java程序的动态切片技术,然后提出基于并发Java程序切片的软件故障定位技术。针对并发Java程序的动态切片技术,第一步是构建并发Java程序相关的依赖图,第二步是结合运行轨迹信息构建包含动态信息的标记依赖图,第三步在标记依赖图上运行并发动态切片算法,实现对并发Java程序的动态切片。基于并发Java程序切片的软件故障定位技术,第一步利用并发Java程序的动态后向切片构建切片谱,第二步是在切片谱上利用并发Java程序的动态前向切片进行变量感染分析,完成对并发Java程序的故障定位。最后本文通过对开源软件的实验,验证本文提出的故障定位技术的有效性。
[Abstract]:Java is a simple, object-oriented, distributed, robust, secure, platform-independent, portable, multi-threaded, dynamic programming language.In software development, concurrent Java programs play a more and more important role for two main reasons: on the one hand, the outstanding features of Java make it widely used in various fields, on the other hand, when dealing with tasks requiring high performance,You often need to use Java's multithreading feature.In software development, developers spend a lot of time and energy on locating software faults, and program slicing technology, as a kind of program decomposition technology, plays an important role in fault location field.At present, there are few researches on software fault location of concurrent Java programs.This paper first presents a dynamic slicing technique for concurrent Java programs, and then proposes a software fault location technique based on concurrent Java program slicing.In view of the dynamic slicing technology of concurrent Java programs, the first step is to construct the dependent graph of concurrent Java programs, and the second step is to construct the tag dependency graph containing dynamic information by combining the running path information.In the third step, the parallel dynamic slicing algorithm is run on the label dependency graph to realize the dynamic slicing of concurrent Java programs.Based on the software fault location technology of concurrent Java program slicing, the first step is to use the dynamic backward slice of concurrent Java program to construct the slice spectrum, the second step is to use the dynamic forward slice of concurrent Java program to analyze the infection of variables on the slice spectrum.Complete the fault location of concurrent Java program.Finally, through the experiment of open source software, the effectiveness of fault location technology proposed in this paper is verified.
【学位授予单位】:东南大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP311.5;TP312.2
【参考文献】
相关期刊论文 前8条
1 王苏苏;;一种基于动态并发切片的错误定位技术[J];宁波职业技术学院学报;2014年06期
2 江联;黄海亮;周晓聪;王欣明;李文军;;基于变量感染分析的软件错误定位技术[J];计算机科学与探索;2014年08期
3 文万志;李必信;孙小兵;刘翠翠;;一种基于层次切片谱的软件错误定位技术[J];软件学报;2013年05期
4 文万志;李必信;孙小兵;齐珊珊;;基于条件执行切片谱的多错误定位[J];计算机研究与发展;2013年05期
5 高传平;谈利群;宫云战;;基于抽象语法树的代码静态自动测试方法研究[J];北京化工大学学报(自然科学版);2007年S1期
6 王雪莲,赵瑞莲,李立健;一种用于测试数据生成的动态程序切片算法[J];计算机应用;2005年06期
7 石峰,刘坚;一种解析GCC抽象语法树的方法[J];计算机应用;2004年03期
8 牛家浩,黄志球,张静,刘佳;基于抽象语法树的软件度量工具的设计与实现[J];计算机应用;2003年10期
,本文编号:1705513
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/1705513.html