Finding Latent Code Errors via Machine Learning
- ver Program Executions
Yuriy Brun
University of Southern California
Michael D. Ernst
Massachusetts Institute
- f Technology
Finding Latent Code Errors via Machine Learning over Program - - PowerPoint PPT Presentation
Finding Latent Code Errors via Machine Learning over Program Executions Yuriy Brun Michael D. Ernst University of Southern Massachusetts Institute California of Technology Bubble Sort // Return a sorted copy of the argument double[]
2
3
4
5
6
7
8
9
if (store[store.length] > 0);
print (a[a.size - 1] + “elements”);
print (a[a.size] + “elements”);
10
11
12
13
14
15
properties user program program analysis model machine classifier fault-revealing properties characteristic extractor features
16
17
18
19
program with known errors program analysis properties program with errors removed program analysis properties machine learner model characteristic extractor features characteristic extractor features
20
– {set of features} " {fault-revealing, non-fault-revealing}
21
22
program with known errors program analysis properties program with errors removed program analysis properties machine learner model characteristic extractor features characteristic extractor features
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[Dickinson et al. 2001] W. Dickinson, D. Leon, and A. Podgurski. Finding failures by clust execution profiles. In ICSE, pages 339–348, May 2001. [Hangal at al. 2002] S. Hangal and M. S. Lam. Tracking down software bugs using autom
[Podgurski at al. 2003] A. Podgurski, D. Leon, P. Francis, W. Masri, M. Minch, J. Sun, an Automated support for classifying software failure reports. In ICSE, pages 465–475, May 2003. [Xie et al. 2002] Y. Xie and D. Engler. Using redundancies to find errors. In FSE, pages 5
38