- 基于布尔网络的逻辑程序静态分析
Answer Set Programming(ASP)是一个声明性问题解决范式,可以将组合问题编码为逻辑程序,其稳定模型对应于所考虑问题的解决方案。本文深入探讨了逻辑程序和布尔网络之间的连接,该连接对于进一步研究 ASP 的静态分析具有统一 - SHACL2FOL:SHACL 决策问题的 FOL 工具包
SHACL2FOL 是一款自动工具,能将 SHACL 文档转换为 FOL 句子,并计算满足性和包含性这两个静态分析问题的答案,进而通过与 E 和 Vampire 等定理证明器集成,输出相应的一阶逻辑理论。这个工具可以提供 SHACL 语义的 - C 分析器:C 程序的静态程序分析工具
基于抽象解释技术的 C 程序静态分析工具,支持多种抽象域,能够对声明、赋值、二进制操作、条件语句、循环等 C 语言构造进行分析,但不支持数组、结构体、联合体、指针或函数调用。
- 在 Rust 中利用大型语言模型进行自动证明合成
基于大型语言模型(LLMs)和静态分析相结合,开发了一个基于 Rust 的形式验证框架 Verus 的原型。通过将验证任务分解为多个较小的任务,迭代地查询 GPT-4,并将其输出与轻量级静态分析相结合,这个原型显著减少了编写入门级证明代码的 - CrossCodeEval:用于跨文件代码补全的多样化和多语言基准
通过对多文件、多语言代码完成任务进行深入研究,提出了一个多样化的、多语言的、需要深入理解跨文件上下文的代码完成基准,通过静态分析来准确定位需要跨文件上下文的实例,并证明跨文件上下文对于完整代码的准确性有着显著的影响。此外,还对检索跨文件上下 - 增强数据流分析的学习类型推断
CodeTIDAL5 是一种基于 Transformer 的模型,用于可靠地预测类型注释,并从程序的代码属性图中提取使用片段,其在 ManyTypes4TypeScript 基准测试上优于当前最先进的神经类型推理系统 7.85%,总体准确率 - 程序分析指南:与大型语言模型的旅程
使用 LLM 辅助静态分析进行识别 use-before-initialization(UBI)错误的研究通过设计 LLift 代理和提示来克服多个挑战,测试结果表明在实际场景中具有非常强大的能力,并发现了 Linux 内核中以前未知的 1 - 使用 Monitors 引导编码的语言模型全局上下文
本文提出一种使用静态分析的策略,称作监视器,以指导解码器生成包含正确类型的标识符代码。通过将检索引入解码过程中提高模型的性能,实验结果表明,在指导下,一些较小的 LMs 的编译率和正确性要优于一些较大的 LMs。
- ACL大语言模型静态评估代码自动补全
本文提出了一个基于抽象语法树的静态分析框架,旨在量化 Python 代码生成中的静态错误,并探讨了语言模型大小、上下文、温度对静态错误的影响。
- 基于级联深度学习的源控制流漏洞挖掘
本文介绍使用 Joern 工具和基于源代码控制流的级联深度学习模型 VMCDL, 处理 SARD 数据集中 CWE476、CWE469、CWE516、CWE570 等易受攻击漏洞类型的 C/C++ 源代码数据,以有效检测软件漏洞,对模型算法 - 基于库的 Python 代码分析实现代码完成和自动机器学习
本文介绍了一种基于动态分配和极度抽象的库来生成代码抽象化的静态分析 Python 的框架 Serenity,并证明了其在代码补全和自动机器学习等应用中的有效性。
- 基于示例的静态分析规则合成
本文介绍了一种新的代码质量规则综合算法 RhoSynth,它基于整数线性编程的图形对齐,通过利用开发人员所做的代码更改作为正和负样本的源来引导 RhoSynth,能够综合出 30 多个 Java 代码质量规则,同时说明了当前最先进的程序综合 - 利用 mllint 分析机器学习项目的软件质量的经验与探讨:关于项目异味的探究
本研究提出 project smells 的概念,在工业上下文中对 ING 进行评估并实施了开源静态分析工具 mllint,发现需要上下文感知的静态分析工具,以适应项目当前发展阶段的需求,并要求用户进行最少的配置工作。
- D2A: 使用差分分析建立的供基于人工智能漏洞检测方法使用的数据集
通过差分分析,建立一个新的数据集 D2A,并利用机器学习对静态分析工具生成的漏洞报告进行分类,从而辅助开发人员优先调查和处理真实存在的问题。
- 基于频域图像可视化和深度学习的恶意软件检测
该研究提出了一种基于图像分类的新方法来检测和可视化恶意软件,其使用 N-gram (DCT) 离散余弦变换和神经网络对可执行二进制文件进行表征和分类,利用自动生成的图像转换为视觉数据集用于训练和测试,最终获得了 96% 的分类精度。
- 快速且高效的神经网络代码补全
本研究旨在解决深度学习模型内存消耗大的问题,通过模块化的神经框架探索多种技术,并设计一种新颖的基于静态分析和细粒度令牌编码相结合的神经重排序模型,其消耗内存仅为 6MB,计算单个补全所需仅 8ms,最高精度达到 90%。
- 现代 IDE 中的代码完成的序列模型设计
我们提出了一种结合静态分析和语言模型预测词汇分布的方法,以实现代码完成实时性、准确性及有效性,提高模型的适用性与可用性。
- Slither: 用于智能合约的静态分析框架
该论文描述了 Slither,它是一个静态分析框架,用于提供有关 Ethereum 智能合约的丰富信息,其四个主要用例是:自动检测漏洞,自动检测代码优化机会,提高用户对合约的理解,以及协助代码审查。我们比较了使用大型数据集的工具,并手动审查 - ExceLint: 自动发现电子表格公式错误
本文提出了一种静态分析方法 ExceLint,主要对电子表格中的公式错误进行检测,通过信息理论的方法识别对其方形区域影响大的异常值,是一种在 Microsoft Excel 上开发的快速高效的电子表格分析工具。
- 针对 Intel 和 AMD 微架构的自动化指令流吞吐量预测
本文介绍了一种基于静态分析的方法来建立微架构模型以预测 loop kernels 的性能,并介绍了一个名为 OSACA 的工具来建立针对 Intel Skylake 和 AMD Zen 的机器模型,并通过多个汇编内核的运行时预测和实际测量结