#PropL project
PropL is a project of bugs prediction with machine learning, following works of Vincenzo Musco.
The PropL software is written with Python2.7 and Python3.4.
The stochastic software is being developed.
| Java Project | Mutant operator | F-score init. | F-score learn. |
|---|---|---|---|
| Codec | ABS | 0.00 | 0.56 |
| Codec | AOR | 0.19 | 0.75 |
| Codec | LCR | 0.11 | 0.66 |
| Codec | ROR | 0.19 | 0.74 |
| Codec | UOI | 0.20 | 0.77 |
| Collections | ABS | 0.26 | 0.20 |
| Collections | AOR | 0.67 | 0.27 |
| Collections | LCR | 0.25 | 0.29 |
| Collections | ROR | 0.24 | 0.23 |
| Collections | UOI | 0.63 | 0.36 |
| Gson | ABS | 0.00 | 0.79 |
| Gson | AOR | 0.03 | 0.73 |
| Gson | LCR | 0.02 | 0.76 |
| Gson | ROR | 0.05 | 0.82 |
| Gson | UOI | 0.05 | 0.83 |
| Io | ABS | 0.06 | 0.57 |
| Io | AOR | 0.32 | 0.66 |
| Io | LCR | 0.29 | 0.74 |
| Io | ROR | 0.50 | 0.71 |
| Io | UOI | 0.42 | 0.7 |
| Lang | ABS | 0.00 | 0.39 |
| Lang | AOR | 0.60 | 0.60 |
| Lang | LCR | 0.40 | 0.53 |
| Lang | ROR | 0.67 | 0.56 |
| Lang | UOI | 0.67 | 0.79 |
| Shindig | ABS | 0.00 | 0.55 |
| Shindig | AOR | 0.50 | 0.62 |
| Shindig | LCR | 0.33 | 0.57 |
| Shindig | ROR | 0.40 | 0.66 |
| Shindig | UOI | 0.50 | 0.65 |
| Sonar | ABS | 0.40 | 0.00 |
| Sonar | AOR | 0.17 | 0.60 |
| Sonar | LCR | 0.67 | 0.54 |
| Sonar | ROR | 0.67 | 0.00 |
| Sonar | UOI | 0.17 | 0.67 |
| Spojo | ABS | 0.00 | 0.00 |
| Spojo | AOR | 0.00 | 0.00 |
| Spojo | LCR | 0.32 | 0.64 |
| Spojo | ROR | 0.29 | 0.80 |
| Spojo | UOI | 0.00 | 0.65 |
- compute-basename.py : Program to compute f-scores with the algorithm of Vincenzo Musco (F-score init.).
- propl.py : Program to compute f-scores with the learning approach (F-score learn.).
- libs/
- basic_stat_lib.py : Some functions to make some stats (compute precision, recall, f-score, etc...)
- graph_visualization.py : Program (Python2.7) to visualize impacted nodes in a .graphml file
- learning_lib.py : Some learning algorithms
- testing_lib.py : Some functions to test the learning algorithm choose on tests sample
- tex_lib.py : Library to write results in a tex file
- use_graph_lib.py : Object which represents a use graph (see the definition of a use graph in the recent paper of Vincenzo Musco)
- utils_lib.py : Some functions to chunk a list, write into a CSV file, etc...
- xml_lib.py : Personal XML library to load and give an appreciation on the XML document (valid or not)
- xml_parsing_lib.py : Personal XML library to parse XML documents from Vincenzo Musco
- exceptions/
- FailToLoad.py
- NoArgument.py
- RunError.py
- networkx (Python2.7/Python3.4)
- numpy (Python2.7/Python3.7)
- matplotlib (Python2.7 only)
You can use the script written in bash : chmod +x run.sh && ./run.sh directory_test usegraph_x.graphml directory_to_store_results, or...
- In the root directory :
python3.4 propl.py <your_test_directory> <number_of_tests> [--option] - For help :
python3.4 prop.py --help
- Developer : Antonin Carette (antonin[dot]carette[at]etudiant[dot]univ-lille1[dot]fr)
- First supervisor : Philippe Preux (philippe[dot]preux[at]inria[dot]fr)
- Second supervisor : Martin Monperrus (martin[dot]monperrus[at]univ-lille1[dot]fr)
- Third supervisor : Vincenzo Musco (vincenzo[dot]musco[at]inria[dot]fr)