/naturalize

Source code for the Naturalize project

Primary LanguageJavaBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Naturalize

Naturalize suggests natural names for source code.

naturalize is released under a BSD license.

The project depends on three internal (maven) modules:

a) codemining-sequencelm b) codemining-utils c) codemining-core d) commitmining-tools

the rest of the dependencies are declared in the maven dependencies.

Basic Usage

final AbstractIdentifierRenamings renamer = new BaseIdentifierRenamings(
				new JavaTokenizer());
renamer.buildRenamingModel(trainingFiles);

final SortedSet<AbstractIdentifierRenamings.Renaming> renamings = renamer
						.getRenamings(new Scope(snippet,
								Scope.ScopeType.SCOPE_LOCAL, null, -1, -1),
								nameOfIdentifier);

If you need a method for directly specifying variable bindings consider using AbstractIdentifierRenamings.getRenamings(TokenNameBinding binding) that avoids retokenizing the snippet and performing a textual match on the tokens.