Add your program analysis tools by creating a pull request here.
This is a list of usable tools that you can try and see the benefits of “Big Code”. Additionally, there are useful libraries useful when developing such tools.
The learning, the type inference and the variable name reconstruction are framed as structured prediction using Conditional Random Fields. A general framework extensible to other languages and similar problems is available at nice2predict.org. Nice2Predict also includes visualization of the inference procedure.
[jsnice.org] [nice2predict.org] [paper @ POPL 2015] [developers' website] [github]
SLANGSLANG is a code completion tool for Java that is intended to complete APIs. A tool trained on Android applications is available and evaluated on predicting what next Android API should be written in a program.
[SLANG tool] [paper] [author website 1] [author website 2]
TASSAL: Tree-based Autofolding Software Summarization ALgorithmTASSAL is a tool for the automatic summarization of source code using autofolding. Autofolding automatically creates a summary of a source code file by folding non-essential code and comment blocks.
[GitHub Repository] [demo]
NaturalizeNaturalize is a tool that learns and suggest coding conventions (such as variable names) to improve the stylistic consistency of your codebase.
[GitHub Repository] [Project page]
LibrariesSee also useful libraries that may help you develop new tools.
If you have a tool you would like to list here, head to the github page and create a pull request with your suggestion.