2010 · 25 citations · 5 references
ComputingComputer ScienceComputational LinguisticsNatural Language ProcessingSoftware EngineeringCode GenerationLanguage ModelingLexical AnalysisSoftware DesignSoftware ModelingStatic Code AnalysisLanguage Processing ModelsN-gram SimilaritySoftware Development Methodology
This paper investigates the use of a natural language processing technique that automatically detects project-specific code templates (i.e., frequently used code blocks), which can be made available to software developers within an integrated development environment. During software development, programmers often and in some cases unknowingly rewrite the same code block that represents some functionality. These frequently used code blocks can inform the existence and possible use of code templates. Many existing code editors support code templates, but programmers are expected to manually define these templates and subsequently add them as templates in the editor. Furthermore, the support of editors to provide templates based on the editing context is still limited. The use of n-gram language models within the context of software development is described and evaluated to overcome these restrictions. The technique can search for project-specific code templates and present these templates to the programmer based on the current editing context.
5
Using structural context to recommend source code examples
Reid Holmes, Gail C. Murphy · 2005 · 385 citations · Full text
Efficient repeating pattern finding in music databases
Jia-Lien Hsu, Arbee L. P. Chen, Canglan Liu · 1998 · 83 citations · Full text
R HILL, Jai Ram Rideout · 2004 · 66 citations
Machine learning and software engineering
Du Zhang, Jeffrey J. P. Tsai · 2003 · 53 citations