A tool to detect the inconsistent between code and text in your source code
Project description
CodeSync: Bootstrapping Code-Text Pretrained Language Model to Detect Inconsistency Between Code and Comment
CodeSync Package
CodeSync is trained on top of encoder-decoder model to learn from code-text pairs. It is a tool that uses for automated detection to identify inconsistencies between code and docstrings, and generates comprehensive summary sentence to replace the old ones.
Usage Scenario
Installation
Install the dependencies:
pip -r install requirements.txt
Inference
Since CodeSync is a Python package, users can use it by inference
function.
from CodeSync.utils import inference
Parameters:
- input_file_path (str): the file path that contains source code if users want to check all the functions in there.
- raw_code (str): a sequence of source code if
input_file_path
is not given. - language (str, required): the programming language. We support 10 popular programming languages such as Java, JavaScript, Python, Ruby, Rust, Golang, C#, C++, C, and PHP.
- output_file_path (str): if
input_file_path
is given, the results from our tool will be written in this path; otherwise, they will be printed on the screen.
Example
from CodeSync.utils import inference
code = """
def inject_func_as_unbound_method(class_, func, method_name=None):
# This is actually quite simple
if method_name is None:
method_name = get_funcname(func)
setattr(class_, method_name, func)
def e(message, exit_code=None):
# Print an error log message.
print_log(message, YELLOW, BOLD)
if exit_code is not None:
sys.exit(exit_code)
"""
inference(raw_code=code, language='python')
>>> Your code snippet function: inject_func_as_unbound_method
Results:
UNMATCH!
Recommended docstring: Inject a function as an unbound method.
-------------
Your code snippet function: e
Results:
MATCH!
Reference
More details can be found in our paper. If you use this code or our package, please consider citing us:
@article{codesync,
title={Bootstrapping Code-Text Pretrained Language Model to Detect Inconsistency Between Code and Comment},
author={},
journal={},
pages={},
year={2023}
}
Contact us
If you have any questions, comments or suggestions, please do not hesitate to contact us.
- Website: fpt-aicenter
- Email: support.ailab@fpt.com
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for codeSync_tool-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4148c967488c53ae0572fb2ace170c237f371451df980093658a1919e6378a33 |
|
MD5 | 08436d6de4473a78c32597608a206dec |
|
BLAKE2b-256 | bf7c1d878973570927b99ea239ec1d906fcf6f1e8089bf5a441237126df449a1 |