Predicate Switching Ordering Based on Branch Spectra Comparison
CSTR:
Author:
  • Article
  • | |
  • Metrics
  • |
  • Reference [11]
  • |
  • Related
  • | | |
  • Comments
    Abstract:

    Predicate Switching locates and analyses the critical predicate to locate fault through dynamically changing the branch predicate outcomes at runtime and observes the changes in the program results. Predicate Switching Ordering algorithm determines the efficiency of locating the critical predicate. Existing ordering algorithms, such as the LEFS (Last Executed First Switched Ordering, LEFS) algorithm with lower efficiency and the PRIOR (Prioritization-based Ordering, PRIOR) algorithm with higher efficiency, the latter time consuming and complexity of algorithm, are defective. In this paper, we propose a novel and improved algorithm, which first determines the priority of the predicate by comparing different program spectra between the success and failure of test cases, then orders priorities of predicate, according to the reverse order of the predicate executions. To evaluate it, we tested our technique on Siemens Suite. The results have shown that the ordering algorithm is more efficient in locating the critical predicate than the LEFS, and less consuming but more implemented than the PRIOR.

    Reference
    1 Collofello S, Woodfield SN. Evaluating the effectiveness of reliability-assurance techniques. Journal of Systems and Software, 1989,9(3):191-195.
    2 Korel B, Laski J. Dynamic Program Slicing. Information Processing Letters. 1988,3(29):155-163.
    3 Zeller RH. Simplifying and Isolating Failure-inducing Input. IEEE Trans. on Software Engineering, 2002, 28(2): 183-200.
    4 Zhang XY. Fault Location via Precise Dynamic Slicing[MS Thesis]. Department of Computer Science on University of Arizona, 2006: 71-80.
    5 Zhang XY, Gupta N, Gupta R. Locating Faults through automated Predicate Switching. Proc. of the 28th int. conf. on Software Engineering. 2006: 272-281.
    6 Reps T, Ball T, Das M. The use of program profiling for software maintenance with applications to the year 2000 problem. ACM Software Engineering Notes, 1997,22(6):432-439.
    7 Harrold MJ, Rothermel G, Wu R. An empirical investigation of program spectra. Proc of the 1998 ACM SIGPLAN- SIG SOFT Workshop on Program Analysis for Software Tools and Engineering. 1998: 109-119.
    8 NIONKA[2011-05-10] http://www.cc.gatech.edu/~orso/nionk a/nionka-x86.php.
    9 Tsankov P, Jin W, Orso A. Execution Hijacking: Improving Dynamic Analysis by Flying off Course. Proc. of the 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation. 2011:200-209.
    10 Valgrind [2011-03-08].http://valgrind.org/.
    11 Do H, Elbaum SG, Rothermel G. Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact. Empirical Software Engineering: An international Journal, 2005,10(4):405-435.
    Related
    Cited by
Get Citation

苏欣,缪力.基于程序行为特征比较的谓词切换排序.计算机系统应用,2012,21(11):198-201,207

Copy
Share
Article Metrics
  • Abstract:
  • PDF:
  • HTML:
  • Cited by:
History
  • Received:April 11,2012
  • Revised:May 22,2012
Article QR Code
You are the first990500Visitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-3
Address:4# South Fourth Street, Zhongguancun,Haidian, Beijing,Postal Code:100190
Phone:010-62661041 Fax: Email:csa (a) iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063