CraTer
This page shows our project CraTer, which is the prototype of paper Does the Fault Reside in a Stack Trace? [paper]. This page includes the original seven Java projects, the experimental datasets, and the usage of CraTer. 1. Parent ProjectsIn our work, we manually select the following seven widely-used open-source Java projects as our parent project. You can click the project name in the table and redirect to the home page of the project. The basic information is given in TABLE I.
2. Artificial CrashesWe create "artificial crashes" by program mutation technique (i.e., randomly change the source code of above 7 projects). The stack traces of these crashes are collected, which can be download at [crash data.zip(247k)]. The format of stack traces of crashes are normalized as follows. Note that --- org.apache.commons.codec.binary.Base32InputStreamTest::testBase32InputStreamByteByByte java.lang.IllegalArgumentException: pad must not be in alphabet or whitespace at org.apache.commons.codec.binary.Base32. We extract 89 features from each crash, and save them as the format of feature vectors. The feature datasets can be download at [generated.zip (685k)]. The datasets are in ARFF format, the contents are as follows, @relation name @attribute ST01 numeric @attribute ST02 numeric ... @attribute AB16 numeric @attribute flag {InTrace,OutTrace} @data 20,2,1,1,1,6,6,6,6,60,82,0,1,11,8,0,130,9,1,0,2,0,0,0,0,0,0,0,0,0,3,2,0,4,0.111,0,0.222,0,0,0,0,0,0,0,0,0,0.333,0.222,0,0.222,0,1,11,8,0,130,9,1,0,2,0,0,0,0,0, 0,0,0,0,3,2,0,4,0.111,0,0.222,0,0,0,0,0,0,0,0,0,0.333,0.222,0,0.222,InTrace 20,2,1,1,1,12,10,12,10,60,82,8,3,6,5,1,104,30,1,6,6,0,0,0,0,0,0,0,0,5,14,2,3,9,0.033,0.2,0.2,0,0,0,0,0,0,0,0,0.167,0.467,0.067,0.1,0.067,8,3,6,5,1,104,30,1,6, 6,0,0,0,0,0,0,0,0,5,14,2,3,9,0.033,0.2,0.2,0,0,0,0,0,0,0,0,0.167,0.467,0.067,0.1,0.067,InTrace ... 3. Usage of CraTerThe tool CraTer takes as the inputs of stack trace and faulty source code, and outputs the predicted results of fault location(i.e., InTrace or OutTrace). It implements the basic experiments in paper Does the Fault Reside in a Stack Trace? This tool is updated on GitHub. You can also download it here [CraTer.zip (133M)]. The usage of CraTer is quite easy, you just need to execute the CraTer.jar, which is contained in the project, on terminate or CMD windows. For example, we can try the command
If you have any question about our work, please contact Yongfeng Gu, or Jifeng Xuan, Wuhan University.
E-mail: yongfenggu (at) whu (dot) edu (dot) cn E-mail: jxuan (at) whu (dot) edu (dot) cn |