codemining-treelm enthält Code für Sprachmodelle, die auf Bäumen funktionieren.
codemining.ast
enthält Code zum Konvertieren von ASTs in sprachunabhängige TreeNodes
codemining.lm
enthält eine Implementierung von PCFGs und TSGs sowie einige idiombezogene Codes.
Das Projekt hängt von drei internen (Maven-)Modulen ab:
a) Codemining-Utils b) Codemining-Core c) Codemining-Sequencelm
Die restlichen Abhängigkeiten werden in den Maven-Abhängigkeiten deklariert.
Dieses Repository enthält den Code zum Artikel:
@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}
}
Um einen TSG für Java zu trainieren, verwenden Sie die Hauptklasse in codemining.lm.tsg.tui.java.SampleBlockedTSG
mit den Argumenten
/path/to/folder binaryvariables filterblock 1.0 50
die TSG-Schulung wie im Dokument „Mining Idioms from Source Code“ beschrieben durchzuführen. Weitere Optionen finden Sie im Code.