codemining-treelm contient du code pour les modèles de langage qui fonctionnent sur les arbres.
codemining.ast
contient du code pour convertir les AST en TreeNodes indépendants du langage
codemining.lm
contient une implémentation de PCFG et TSG ainsi que du code lié aux idiomes.
Le projet dépend de trois modules internes (maven) :
a) codemining-utils b) codemining-core c) codemining-sequencelm
Le reste des dépendances est déclaré dans les dépendances maven.
Ce référentiel contient le code lié à l'article :
@inproceedings{allamanis2014mining,
title={Mining Idioms from Source Code},
author={Allamanis, Miltiadis and Sutton, Charles},
booktitle={Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
pages={472--483},
year={2014},
organization={ACM}
}
Pour former un TSG pour Java, utilisez la classe principale dans codemining.lm.tsg.tui.java.SampleBlockedTSG
avec les arguments
/path/to/folder binaryvariables filterblock 1.0 50
pour exécuter la formation TSG comme dans l'article "Mining Idioms from Source Code". Pour d’autres options, veuillez explorer le code.