Novel scheme to locate software fault by aggregate analysis of program behaviors
-
摘要: 软件出现失效后,如何根据软件运行时的输入以及运行行为来快速定位引发失效的故障是一个非常有价值的研究问题.提出了故障定位的锥状框架,并基于其将故障定位问题表示为一个分层细化的过程.在软件输入层,利用程序行为累积分析技术对软件的行为进行建模分析,得到了统计故障定位模型,从而解决了软件输入层的故障定位问题.为了检验故障定位模型的效果,选择了5个软件进行实验,对其中4个设计并植入故障,另外1个为真实软件,实验获得了平均0.803的定准率和平均0.697的定全率.在此基础上,如何应用程序行为累积分析技术在软件设计模块层解决故障定位问题得到了进一步的分析.Abstract: It is an interesting and noteworthy issue to locate rapidly and effectively the fault according to the input and the program behavior in case of software failure. A drill-down framework for fault localization was proposed, based on which the fault localization problem was expressed in a step-by-step procedure with multi-hierarchy. Proposed and analyzed is a novel scheme of fault-locating method on input level using aggregate analysis of the program behavior. Statistical model of the fault-locating approach on input level was established and the corresponding solution were presented and discussed. To validate the proposal, an experiment was conducted, involving 5 software, 4 of which are injected with faults deliberately and the rest one is actual software in use. The results show that an average precision of 0.803 and an average recall of 0.697 are obtained. Finally, the application of aggregate analysis of the program behavior into the fault-locating method on module level was discussed.
-
Key words:
- fault location /
- aggregate analysis /
- software debugging /
- statistical method
-
[1] 樊平.新型多用途C++静态分析器的研究与开发 .北京:北京航空航天大学 算机学院,2004 Fan Ping. The research and development of a new multi-use C++ static analyzer . Beijing:School of Computer Science and Technology, Beijing University of Aeronautics and Astronautics, 2004 (in Chinese) [2] 袁媛. Java代码审查辅助工具的研究和实现 .北京:北京航空航天大学 算机学院,2005 Yuan Yuan. The research and implementation of java code inspection aided tool .Beijing:School of Computer Science and Technology, Beijing University of Aeronautics and Astronautics, 2005(in Chinese) [3] 朱经纬. 面向对象的动态测试支撑工具的研究及其实现 . 北京:北京航空航天大学 算机学院.2004 Zhu Jingwei. Research and implementation of the object-oriented dynamic test support tool . Beijing:School of Computer Science and Technology, Beijing University of Aeronautics and Astronautics, 2004(in Chinese) [4] Mary J H. Multi program executions:not just for testing anymore .ftp:ftp.dagstuhl.de, 2004 [5] Andreas Z. Program analysis:a hierarchy Jonathan Cook, Michael Ernst. Proceeding of Workshop on Dynamic Analysis (WODA 2003). Washington:IEEE Computer Society, 2003:795-796 [6] Hiralal A, Joseph R H, Saul L, et al. Fault localization using execution slices and dataflow tests Proceedings of 6th International Symposium on Software Reliability Engineering. Toulouse:IEEE Computer Society, 1995:143-151 [7] Ehud Y S. Algorithmic program debugging [M]. Cambridge:The ACM Distinguished Dissertation Series. The MIT Press, 1983 [8] James A J. Fault localization using visualization of test information Proceedings of the 26th International Conference on Software Engineering (ICSE 2004). Edinburgh, Scotland:IEEE Computer Society,2004:54-56 [9] Manos R, Steven P R. Fault localization with nearest neighbor queries Proceedings of 18th IEEE International Conference on Automated Software Engineering(ASE’03). Montreal:IEEE Computer Society, 2003:30-39 [10] Andreas Z. Isolating cause-effect chains from computer programs Proceeding of ACM SIGSOFT 10th International Symposium on the Foundations of Software Engineering (FSE-10). Charleston, South Carolina, USA:IEEE Computer Society, 2002:1-10 [11] Wu Ji, Jia Xiaoxia, Liu Chang, et al. A statistical model to locate faults at input level Proceedings of IEEE 19th International Conference on Automated Software Engineering (ASE 2004). Linz, Austria:IEEE Computer Society, 2004:274-277
点击查看大图
计量
- 文章访问数: 2896
- HTML全文浏览量: 217
- PDF下载量: 1020
- 被引次数: 0