# Anon **Repository Path**: AdAstra2333/anon ## Basic Information - **Project Name**: Anon - **Description**: Coding... - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-11 - **Last Updated**: 2025-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Anon #### 介绍 Coding... #### 开发笔记 1.11 正在研究...可以用多种方法来做同一个任务 1.15 经过n天的研究,GCC太过于古老导致很难用(但好像可以分析Java?),反而是Clang可以在分析 过程中生成很多的中间步骤,如CFG控制流图、函数调用图和AST,可以用Clang。 Flex和Bison可以看情况用于Python和Java的识别。 经过测试: Clang: 【-fsyntax-only 选项:此选项用于检查代码的语法错误,而不进行实际的编译。】 1.clang -Xclang -ast-dump=json -fsyntax-only hello.c > hello_ast.json 【必须使用】可以生成json格式的AST, -Xclang -ast-dump-filter=main可以只生成某一个函数的语法树(不会展开其调用的函数)。 不能使用-cc1,否则会由于缺失库无法进行编译生成AST。(也许可以加足够多目录来分析C语言) 2.clang -cc1 -fsyntax-only -dump-tokens hello.c > hello.lex 2>&1 直接使用纯编译器前端输出词法分析结果到文件,而且仅分析本文件(也会报错缺失标准库) 如果使用-Xclang -dump-tokens则是分析本文件经过链接库后的情况,会非常非常大。 -Xclang:通过 Clang 的驱动程序传递内部选项,适用于需要传递特定选项的情况。 -cc1:直接调用 Clang 的编译器前端,适用于需要直接控制编译过程的高级用例。 3.clang -emit-llvm -S test3.cpp 【 -o3 可选编译优化,感觉不加更能看出来源程序控制结构】 opt -passes=dot-cfg test3.ll 【参数可改,可生成dom tree,cfg图,依赖图,调用图】-passes后面的参数:https://llvm.org/docs/Passes.html GCC: 【只能做AST】 g++ -fdump-tree-optimized-graph hello.c 【注意】不能使用-o,因为这个命令其实没有命令行输出 运行结果就是一个叫a-hello.c.252t.optimized.dot的dot文件,然后 dot -Tsvg hello.dot-hello.c.252t.optimized.dot -o hello.svg 改改参数可以生成png,pdf 1.22 昨天终于把Arco Design Pro的模板部署哩!干了两天都没成功,全靠最后大佬拯救。 血泪教训:千万别用npm,尽量用cnpm和pnpm或者yarn;实在是不会了去Github对应的项目下面的issue找解决方法,神人很多。 记录一下配置步骤: 1.NodeJS:22.10.0 nvm:1.2.2 npm:10.7.0 pnpm:9.15.4 cnpm:9.4.0 npminstall:7.12.0 2.pnpm create arco-pro@latest 3.cd project-name 4.pnpm run dev create这步是个懒人包,项目在Github的Star里了。Arco官网的文档方法用了铁定报错,克隆Arco项目和使用Arco-Cli 初始化项目还是会出错,应该是官方的某个文档不符合Typescript这个可恶的玩意儿的规范所以运行编译会报错吧。。。 感谢Github大佬的懒人包,甚至支持其他的社区模板,可以试试其他模板! 2.6 配置Java环境 jdk23:[https://blog.csdn.net/fengguu/article/details/142433700]() Maven3.9.9:[https://blog.csdn.net/m0_74363339/article/details/139768830]() IDEA使用Spring Initializr创建工程:[https://blog.csdn.net/weixin_55036310/article/details/142931452]() 2.18 正在写前端逻辑,终于搞清楚了JavaScript的一个重要问题: Object是对象,也是键值对,不能用forEach直接遍历,要获取其键的数组再根据键找值遍历,或者使用for in+hasOwnProperty来避免输出原型链遍历。 Array是数组,可以直接使用forEach遍历,但是不可用for in或者for of遍历,会输出很多原型链的内容。 ## 以及 在script里写什么data mounted methods这种已经过时了,Vue3推荐在script setup里全写比较好,mounted这些都有onMounted钩子可代替。 ## 重要文献 面向代码相似性检测的相似哈希改进方法 https://www.jos.org.cn/html/2021/7/6271.htm?utm_source=chatgpt.com 3.26 一些做毕设过程中的小思路 sk-0ec965a890604becb9c6045b3c85a896 DeepSeek API java -jar antlr-4.13.2-complete.jar -Dlanguage=Java -o CPPLexerParser CPP14Lexer.g4 CPP14Parser.g4 生成命令 论文思路 对比代码微调模型:ChatGPT聊的,其他更适合补全任务;其他难以配置(Decoder-Encoder配置高;反应时间慢) 代码代码数据库; 向量搜索算法 数据集:选取POJ104等等;室友同学征集 实验获取准确率、召回率等结论:PrePrintDataSet、bcb.h2等数据库的克隆对 所有数据集的汇总:https://github.com/CUHK-ARISE/ml4code-dataset https://github.com/clonebench/BigCloneBench?tab=readme-ov-file https://gitcode.com/gh_mirrors/bi/BigCloneEval?utm_source=csdn_github_accelerator https://blog.csdn.net/qysh123/article/details/112354932 https://blog.csdn.net/qq_45208521/article/details/127083160 https://github.com/microsoft/CodeXGLUE/tree/main https://hf-mirror.com/datasets/semeru/Code-Code-CloneDetection-BigCloneBench https://hf-mirror.com/datasets/AISE-TUDelft/ML4SE23_G4_Small_Clone_Bench https://github.com/zhuwq585/MCCD_Benckmarking/tree/main/preprocessedData https://www.cs.usask.ca/faculty/croy/papers/2014/SvajlenkoICSME2014BigERA.pdf https://opendatalab.org.cn/OpenDataLab/CodeXGLUE/tree/main 数据库 Milvus http://152.136.142.159:8000/#/ 待读论文 https://github.com/microsoft/CodeBERT/tree/master/UniXcoder https://arxiv.org/pdf/2002.08155 CodeBERT: A Pre-Trained Model for Programming and Natural Languages https://arxiv.org/pdf/2203.03850 UniXcoder: Unified Cross-Modal Pre-training for Code Representation https://arxiv.org/pdf/2009.08366 GraphCodeBERT: Pre-training Code Representations with Data Flow https://arxiv.org/search/?query=UniXcoder&searchtype=all&source=header 关键词UniXcoder https://arxiv.org/pdf/2503.05315 LoRACode: LoRA Adapters for Code Embeddings 貌似是CodeBERT的改进 https://arxiv.org/pdf/2410.22240 Are Decoder-Only Large Language Models the Silver Bullet for Code Search? https://arxiv.org/pdf/2408.05542 You Augment Me: Exploring ChatGPT-based Data Augmentation for Semantic Code Search https://arxiv.org/pdf/2005.08025 IntelliCode Compose: Code Generation using Transformer 待读技术文档 https://github.com/microsoft/CodeBERT/tree/master https://huggingface.co/microsoft/unixcoder-base https://huggingface.co/microsoft/CodeGPT-small-java-adaptedGPT2/tree/main CodeGPT??? https://www.parak.top/posts/49052/ ANTLR https://api-docs.deepseek.com/zh-cn/guides/json_mode DeepSeek API文档 https://demo.ragflow.io/knowledge/dataset?id=b0c987fa0af211f0aec242010a8a0005 PDF解析器DeepDoc和RAG OCR工具(识别PDF)Mistral OCR AI讨论写作 Storm by Stanford ## 3.28 Linux可以搭建软路由!我可以把电脑插在NAS上! 改进向量: 改进工作方向: https://chatgpt.com/c/67f7c15b-05ac-800a-bfdc-90b159e81380 对于代码克隆检测任务,建议先尝试使用标准的 pooled output([CLS] 池化表示)作为基线;但考虑到代码的特殊性质和现有实验结果,采用基于标识符的输出或将两者进行融合往往能获得更好的检测效果。具体选择哪种表示,还需要根据实验效果以及具体应用场景进行验证和调整。 这种策略既兼顾了任务中对全局语义的需求,也利用了代码中关键符号对语义的贡献,从而在实践中可能显著提升代码克隆检测的准确性。 Java数据集:preprintedData/java_examples