返回
Whole-value analysis by abstract interpretation
DOI:10.3389/fcomp.2025.1655377.png)
摘要
En 中文
值分析的任务是理解程序可能为每个变量或内存区域计算的具体值。历史上,研究主要关注数值分析(即处理数值值的程序的值分析),而字符串分析在过去二十年里受到了更广泛的关注。字符串分析提出了一个关键挑战:推理字符串需要推理整数值,这些整数值要么用作字符串操作的参数(例如,计算子字符串),要么由字符串操作返回(例如,计算字符串的长度)。传统上,字符串分析是针对特定的数值分析形式化的,通常考虑常量值或其可能范围,并将定义、语义证明和实现定制为该特定组合,从而阻碍了分析在不同环境中的采用。本研究提出了一种模块化框架,通过抽象解释来定义全值分析(即数值分析、字符串分析以及程序可能计算的其他值类型的组合)。该框架以抽象约束的形式定义了不同分析之间的信息交换,允许每个分析仅根据其他分析计算的抽象值的通用且与特定分析无关的描述来执行。采用这种框架(i)确保在更改使用的域组合时,正确性证明仍然有效,(ii)简化了不同值分析组合的实现和实验,简化了不同科学贡献之间的比较,并增加了抽象解释器可用于分析程序的域集合。
Keyword:
abstract interpretation
products
program analysis
static analysis
value analysis
期刊
F
IF:
2.7
论文数:
186
被引数:
0
机构
引用论文
A generic framework for heap and value analyses of object-oriented programming languages面向对象编程语言堆与值分析的通用框架

