赞
踩
项目地址:https://gitcode.com/zhangj111/astnn
ASTNN(A Novel Neural Source Code Representation based on Abstract Syntax Tree) 是一个在ICSE'2019会议上发表的研究成果,它提供了一种全新的源代码向量化表示方法,主要针对两种任务:源代码分类和代码克隆检测。这个开源库包含了实现该模型的全部代码以及实验数据,为代码理解与分析开辟了新的可能。
ASTNN的核心是利用抽象语法树(Abstract Syntax Tree)来解析源代码,这是一种形式化的语言结构,能够精确地捕捉到代码的语法结构。通过将AST转换成神经网络可以处理的形式,模型可以直接理解和学习代码的内在逻辑。采用PyTorch框架实现,支持Python 3.6,并依赖pandas、gensim、scikit-learn等库。对于C和Java编程语言,项目还集成了pycparser和javalang库进行语法解析。
在训练过程中,项目提供了pipeline.py
脚本预处理数据,然后使用train.py
进行训练和评估。此外,用户可以通过调整配置以适应不同GPU内存大小。
如果你正在寻找一种能深入理解源代码的工具,或者对代码表示学习有研究兴趣,ASTNN无疑是值得关注的开源项目。为确保正确引用,请在使用时参考以下引用格式:
@inproceedings{zhang2019novel,
title={A novel neural source code representation based on abstract syntax tree},
author={Zhang, Jian and Wang, Xu and Zhang, Hongyu and Sun, Hailong and Wang, Kaixuan and Liu, Xudong},
booktitle={Proceedings of the 41st International Conference on Software Engineering},
pages={783--794},
year={2019},
organization={IEEE Press}
}
现在就加入ASTNN的社区,探索源代码世界的深度与广度吧!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。