Volume 2, Number 1 (Spring - Summer 2013 2013)                   SCJ 2013, 2(1): 44-59 | Back to browse issues page


XML Persian Abstract Print


Download citation:
BibTeX | RIS | EndNote | Medlars | ProCite | Reference Manager | RefWorks
Send citation to:

hajibaba M, parsa S. Software Fault Localization using Cross Entropy and N-gram Models. SCJ. 2013; 2 (1) :44-59
URL: http://scj.kashanu.ac.ir/article-1-56-en.html

1- phd student IROST , mhajibaba@comp.iust.ac.ir
2- IUST
Abstract:   (2609 Views)
The aim is to automate the process of bug localization in program source code. The cause of program failure could be best determined by comparing and analyzing correct and incorrect execution paths generated by running the instrumented program with different failing and passing test cases. To compare and analysis the execution paths, one approach is clustering the paths according to their similarity. To calculate similarities among execution paths, N-gram models could be created for each individual run. The constructed models are further analyzed using cross entropy to compute the similarities among their corresponding execution paths. By counting elements in each execution path, each element is known as uni-gram, we can compute MLE probabilities to create N-gram models, known as markov models. Then by further analyzing the cross-entropy of sequences in each cluster, a series of fault suspicious locations are identified and finally using majority voting among clusters, faulty locations are reported to the programmer as faulty subpath(s). Our experiments on Siemens benchmark suite show that the proposed method in this paper shows the location of faults with high accuracy.
Full-Text [PDF 559 kb]   (941 Downloads)    
Type of Study: Research | Subject: Special
Received: 2013/05/29 | Accepted: 2014/01/21 | Published: 2015/09/3

Add your comments about this article : Your username or email:
Write the security code in the box

Send email to the article author


© 2015 All Rights Reserved | Soft Computing Journal

Designed & Developed by : Yektaweb