Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vishvamporwal/funcgram
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.
https://github.com/vishvamporwal/funcgram
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/vishvamporwal/funcgram
- Owner: VishvamPorwal
- License: mit
- Created: 2023-08-04T12:54:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-04T20:51:58.000Z (over 1 year ago)
- Last Synced: 2024-04-27T00:14:22.373Z (9 months ago)
- Language: Python
- Homepage:
- Size: 494 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](data/pair_matrix.png)# Model Architectures:
Gradient-based approach(neural_approach.py):
![Model Architecture](data/NN.png)# 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.