41、机器代码类型状态检查相关技术解析

机器代码类型状态检查相关技术解析

1. 类型状态检查概述

类型状态检查是一种流敏感分析,用于跟踪抽象位置之间的别名关系。通过检查访问堆分配存储的程序点处的存储形状图,能够安全地检测是否会发生非法字段访问。例如,根据图 4 中语句 8 之后产生的形状图,分析可以确定语句 9 中对 color 的访问可能是一个内存访问错误,存在此类访问的程序会被安全检查器拒绝。

2. 函数调用总结
  • 安全前置和后置条件
    • 为了使安全检查分析在可信代码边界处停止,我们使用安全前置和后置条件来总结函数调用。安全前置条件描述了实际参数必须满足的义务,后置条件则提供了调用结果状态的保证。
    • 目前,安全前置和后置条件是手动生成的,后续计划研究如何自动创建这些条件。
    • 实际参数的义务用占位符抽象位置表示,其大小、访问权限和类型状态规定了实际参数必须满足的详细要求。当形式参数是指针时,其状态描述符可能包含对其他占位符的引用。
    • 前置条件表示为 “占位符 : 类型状态” 的列表,后置条件表示为 [别名上下文, 占位符 : 类型状态] 的列表。别名上下文是一组潜在别名或非别名关系,用于捕捉实际参数之间的别名如何影响结果状态。
    • 安全前置和后置条件还可以包含线性约束,前置条件中的线性约束代表额外的安全要求,后置条件中的线性约束提供调用后内存状态的额外信息。
  • 示例
      <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值