Skip to content

We aim to perform fault localization with the help of a network

Notifications You must be signed in to change notification settings

Hadikamali/Analysis_code4bench

Repository files navigation

Analysis_Code4Bench

Analysis and examination of the relationship between errors in the codes on the data Code4Bench

code4bench is now available for download at http://doi.org/10.5281/zenodo.2582968

Questions (import)

We aim to perform fault localization with the help of a network. To do this, it's necessary to first obtain the required information from the program. Then, by using network analysis tools like Gephi, we carry out the analysis.
The information needed in the program for constructing the network includes:

Node type 1: Test cases
Node type 2: Program building blocks
Edge type 1: Program coverage (source test case - destination building block covered by the test case)
Edge type 2: Data dependency among building blocks (both source and destination are building blocks)
Edge type 3: Control dependency among building blocks (both source and destination are building blocks)

  1. For the given programs, obtain the necessary information and then analyze using the network metrics available (such as degree centrality, betweenness centrality, etc.) to interpret what each metric means for fault localization, and how the available data can be used for fault localization.

  2. Identify which one of the three types of edges has more value in fault localization.

installation (import)

  1. Download and unzip file from the given url
  2. Install mysql version 5.7
  3. Create database name it “code4bench”
  4. In MySQL Workbench
    a. Server->Data Import
    b. Select the extracted folder
    c. Push Start Import (it’s may take a time)
  5. Finish

Code4Bench Schema

The schema of Code4Bench is drawn below alt text

Data in Code4Bench

The number of submissions for each programming language are listed below

IDLanguageSubmission Count
1GNU C++ 14604,155
2GNU C93,492
3MS C++164,912
4GNU C++ 11906,811
5FPC47,522
6GNU C++1,167,214
7Java 8154,087
8Python 352,433
9Go3,011
10D742
11MS C#14,896
12GNU C 1118,574
13Python 236,469
14PyPy 24,507
15Ruby3,806
16PHP2,570
17PyPy 33,222
18Delphi9,698
19Kotlin4,739
20JavaScript3,020
21Haskell3,585
22OCaml543
23Scala2,131
24Mono C#5,199
25Java 727,931
26Rust599
27Perl784
28GNU C++ 111,083
29Java 8 ZIP107
30J2,673
31GNU C++ 0X34,746
32Java 622,988
33Pike4,076
34Befunge4,343
35Cobol2,114
36Factor2,606
37Secret-171158
38Roco3,136
39Tcl3,752
40F#15
41Io2,908

About

We aim to perform fault localization with the help of a network

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published