Skip to content

Commit

Permalink
Update README.md and .gitignore
Browse files Browse the repository at this point in the history
  • Loading branch information
antoineBarbez committed Oct 16, 2019
1 parent 652bdae commit 99d8bfd
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ __pycache__/
*.py[cod]
*$py.class

# DS_Strore
.DS_Store

# C extensions
*.so

Expand Down
15 changes: 6 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,20 @@
# SMAD (SMart Aggregation of Anti-patterns Detectors)
A machine-learning based ensemble method to aggregate various anti-patterns detection approaches on the basis of their
internal detection rules and, thus, improve detection performances.
A machine-learning based ensemble method to aggregate various anti-patterns detection approaches on the basis of their internal detection rules and, thus, improve detection performances.

SMAD is implemented for the detection of **God Class** and **Feature Envy**.

## Repository Structure
This repository is organized as follows:
* **approaches:** Source code of all the approaches implemented in this work, including the replication of HIST, InCode, Vote, ASCI as well as the Tensorflow code of the NN used by our approach SMAD.
* **approaches:** Source code and data related to the approaches implemented in this work, including the replication of HIST, InCode, Vote, ASCI, as well as the Tensorflow code of the NN used by our approach SMAD.
* **data:** Contains necessary data to run the experiments.
* **antipatterns:** The oracle, i.e., manually-tagged occurrences of God Class and Feature Envy in eight software systems.
* **entities:** Names of classes and methods in all the systems considered in this study (classes_all includes nested classes).
* **history:** Change history of the subject systems at class and method granularity.
* **metric_files:** Files containing the *core metrics* related to each detection tool to be aggregated. Note that for HIST, these core metrics are computed from the system's history.
* **entities:** Names of the classes and methods considered for each of the studied system.
* **data_construction:** Code used to generate the data.
* **oracle_feature_envy:** To create the data contained in *~/data/antipatterns/feature_envy/* from the answers collected via our survey.
* **repository_miner:** To mine systems' repository and create the rest of the data.
* **experiments:** The source code of our experiments: training, comparison, parameter tuning, etc.
* **java:** Jars and src of the Java code implemented in this work. These jars are used in *~/data_construction/repository_miner/repository_miner.py* to create the metric files.
* **utils:** Modules used to access and manipulate the data.
* **experiments:** The source code of our experiments: training, tuning, and performance comparison.
* **java:** Jars and src of the Java code implemented in this work. These jars are used in *~/data_construction/repository_miner/repository_miner.py* to extract the data related to HIST, InCode, DECOR and JDeodorant.
* **utils:** Some utility modules.

## Research
The paper associated to this repository is under review at *Journal of Systems and Software*.
Expand Down

0 comments on commit 99d8bfd

Please sign in to comment.