Skip to content

Character-level bigram language model for intuitive function names. Using deep learning, it predicts sequential character patterns to propose relevant function identifiers. Enhance code readability with smart function naming.

License

Notifications You must be signed in to change notification settings

VishvamPorwal/FuncGram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FuncGram: Character-Level Bigram Language Model for Function Names

FuncGram is an open-source project that showcases a character-level bigram language model designed to generate intuitive and relevant function names. Leveraging a simplistic neural network, FuncGram takes into account the sequential nature of characters in function names and predicts appropriate bigram combinations to propose functional identifiers.

Evaluation Metric:

In assessing the model's efficacy, FuncGram employs the Average Negative Log Likelihood. Achieved 2.26 loss.

Data Exploration:

Character Pair Analysis in Function Names: Pair Matrix

Model Architectures:

Gradient-based approach(neural_approach.py): Model Architecture

Key Features:

  1. Character-Level Modeling: FuncGram operates at the character level, analyzing the intricacies of function name composition.
  2. Bigram Analysis: The model focuses on the relationship between consecutive pairs of characters, capturing patterns and sequences in function names.
  3. Intuitive Suggestions: FuncGram proposes function name suggestions that align with established programming conventions, making the naming process more streamlined.

Contributions:

Contributions to FuncGram are welcomed and encouraged. If you have ideas for improvement or want to extend the capabilities of the Bigram language model, feel free to fork the repository and submit a pull request.

Note: This project is intended to showcase the technical aspects of character-level bigram modeling for function names.

About

Character-level bigram language model for intuitive function names. Using deep learning, it predicts sequential character patterns to propose relevant function identifiers. Enhance code readability with smart function naming.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages