Computer Engineering & Science ›› 2022, Vol. 44 ›› Issue (12): 2187-2195.
• Software Engineering • Previous Articles Next Articles
HE Hai-jiang
Received:
Revised:
Accepted:
Online:
Published:
Abstract: In the program debugging process, software fault localization (SBFL) technology based on the program spectrum can provide effective help. In order to improve the performance of SBFL, a software fault localization method based on learning to rank is proposed, which combines program spectrum and static attributes of code statements. The optimal fault localization model is learned by the linear ranking support vector machine. The static attributes of code statements include the number of program entities such as local variables, class attributes, logical operators, and method invocations. On 22 actual fault projects developed in C, C++ and Java languages, the fault localization model was trained on the form of cross engineering. Experimental results confirm that the proposed method reduces the worst strategy EXAM by 37.1% and the average strategy EXAM by 22.6% compared with the optimal SBFL. Three types of lightweight features of program statements are also compared: structured categories, variable spectrum and static attributes. The time complexity of the proposed method is low, and it can recommend a sequence of sentences that may fail in real time.
Key words: software fault localization, program spectrum, variable spectrum, program static attri- bute, learning to rank, cross project
HE Hai-jiang. A lightweight software fault localization method based on statement complexity[J]. Computer Engineering & Science, 2022, 44(12): 2187-2195.
0 / / Recommend
Add to citation manager EndNote|Ris|BibTeX
URL: http://joces.nudt.edu.cn/EN/
http://joces.nudt.edu.cn/EN/Y2022/V44/I12/2187