44、字节码安全性断言:Jinja字节码与断言逻辑

字节码安全性断言:Jinja字节码与断言逻辑

1. 引言

在Java相关的逻辑系统中,以往的逻辑大多是为Java源代码设计的,而非其字节码。本文引入了一种带有JVM特定构造的一阶表达式语言,该语言足以表达Jinja指令的最弱前置条件以及针对算术溢出的安全策略。

2. Jinja字节码

Jinja字节码是Java字节码的精简版本,虽仅有16条指令,但涵盖了大多数面向对象的特性,如对象创建、继承、动态方法调用和异常处理。

2.1 指令类型

以下是Jinja字节码的指令类型定义:

datatype instr =
  Load nat        -- load from register
| Store nat       -- store into register
| Push val        -- push a constant
| New cname       -- create object on heap
| Getfield vname cname  -- fetch field from object
| Putfield vname cname  -- set field in object
| Checkcast cname -- check if object is of class cname
| Invoke mname nat -- invoke instance method with nat parameters
| Return          -- return from method
| Pop             -- remove top ele
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值