SAT、SMT、Z3和符号执行(2)

2023-10-13 15:20
文章标签 smt sat z3 符号执行

本文主要是介绍SAT、SMT、Z3和符号执行(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

符号执行(symbolic execution)是一种计算机科学领域的程序分析技术,通过采用抽象的符号代替精确值作为程序输入变量,得出每个路径抽象的输出结果。 这一技术在软件测试中有很重要的应用,能够有效地发现程序中的漏洞。本专栏中前面已经介绍过在angr中使用符号执行来解决CTF题目的例子。本文将通过几个例子来演示一下symbolic execution(或者SMT solver)在软件分析领域的应用。

一、程序等价性检验(Program Equivalence Checking)

这是《深入理解计算机系统》(参见【1】)中给出的一个问题。有一段计算机程序,在使用之前定义好的宏变量M和N后被编译成了二进制代码。由于编译器对程序中的乘法和除法运算做了一些优化,当把二进制代码反编译回C代码之后,对比两份源码,其实很难看出来它们是等价的(尽管它们确实是等价的)。现在的问题是,想求出:M和N的值到底是多少?

注意我们这里不会使用《深入理解计算机系统》中的分析方法(那个相当于是手工分析)。现在我们希望使用SMT solver来解决这个问题。

#!/usr/bin/env python3
from z3 

这篇关于SAT、SMT、Z3和符号执行(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/204107

相关文章

漏洞检测 Symbolic execution符号执行是什么

Symbolic execution 符号执行 Symbolic execution (King 1976) is another vulnerability discovery technique that is considered to be very promising. By symbolizing the program inputs, the symbolic execution

智能制造之 SMT 产线监控管理可视化

前言 随着《中国制造2025》的提出,制造业迎来了全新的发展机遇。更多的企业将制造业信息化技术进行广泛的应用,如 MES 系统、数字孪生以及生产管理可视化等技术的研究应用,已经成为社会各界共同关注的热点。 表面贴片技术(Surface Mounted Technology,SMT)指的是在印刷电路板(Printed Circuit Board,PCB)基础上进行加工的系列工艺流程的简称,是电子

新SAT官方范文得分的分段分析

· 本次官方给出了两道写作新样题,样题的材料文章分别是节选自Paul Bogard于2012.12.21发表在《洛杉矶时报》的“Let There Be Dark.”及Dana Gioia于2005.04.10发表在《纽约时报》的“Why Literature Matters” 。   · 张卉老师结合之前的新SAT改革的说明,认为写作部分的基本出题思路没有大的调整,样题的材料文章都是节选自

SAT改革:SAT官方最新样题解读与备考建议

College Board于2015年1月9日释放新SAT考试最新样题,小编第一时间为各位考生及家长进行新SAT考试的样题解析及备考规划建议,此次小编给出了SAT语法样题一、样题二,阅读第一、二篇,数学,写作样题与范文的详细解读,希望各位考生在2015冲刺高分成绩! 新SAT科目官方样题答案解析新SAT语法新SAT写作与语法能力真题及答案样题1解析 | 样题2解析 | 新SAT语法备考建议新

SAT阅读考试的典型问题及应对策略

SAT阅读部分的测试时间为70分钟,共65道选择题,每道选择题有五项选择,其中只有一项选择为正确答案。结合所阅读的文章,每道选择题以提出问题的形式出现,通常被问到的问题类型为:本篇文章的主要观点及中心主题;在本篇文章中,作者对所论述问题的态度及基本观点;判断所阅读文章的体裁形式,例如:议论、寓言、科技、历史、讽刺、悲剧、喜剧、浪漫、科幻、恐怖、写实及诗歌;作者在文章中所用的修辞手法的目的,在这

如何克服SAT考试阅读难关?

对中国考生而言,SAT阅读部分的考题为最难。SAT阅读由两部分组成,即阅读判断及句子填空,全部为选择题型。SAT阅读的考试时间为70分钟,65道题,每答对一道题得12.3分,总共800分。国内考生若想在SAT阅读中取得理想的成绩,至少要具备两项基本能力,其一,要掌握一万左右的英语词汇量;其二,要有能力根据上下文的关系,准确识别不认识的英语词汇。SAT阅读部分题量大、时间紧,考生要在不超过一分钟

四步走循序渐进克服SAT阅读关

五月份的SAT考试刚刚结束,阅读自然是各个部分中最有难度的,也是最令同学们望而生畏的。但相较于几个月前,同学们纷纷表示,在经过了系统而全面的训练和练习之后,还是可以打倒阅读这一SAT高分路上拦路虎的。 事实上,只要过了四个关卡,同学们就可彻底解决SAT阅读。   第一关:单词关   要读懂一篇文章,无疑最基本的一点是要认识这篇文章的字。如果入目皆是生词,一定会有一种“满纸荒唐言”的感觉――

考生备考分享:SAT阅读提分技巧

不少同学认为阅读是SAT考试中最难的部分,很多人抱怨时间太紧做不完题,也有很多人说做完题了但是正确率很低。在经历了第一次SAT后,我总结了一些的阅读经验,凭借运用这些经验,我的第二次SAT阅读成绩有了非常大的进步。现在将这些经验分享给大家。   1、在做阅读题时,首先应该把文章通读一遍,但这种通读并不是漫无目的的浏览,而是要筛选着读。   在这一遍里,要注意发掘、总结作者的核心思想是什么,

如何跨越SAT阅读词汇的障碍

SAT 阅读词汇对考生的要求一般是在数量上要越多越好,但是对于一些比较常见的词汇,大家还是需要掌握一个记忆原则,就是要精确掌握词汇的含义,这样才能在SAT阅读题目中做到有备无患,不被词汇拦住解题的道路。   由于很多同学把精力和时间都放在快速增加词汇量上,很多考生在记忆SAT阅读词汇的时候都会犯浅尝辄止,不求甚解的毛病,认为只要知道个大概意思,在阅读文章中根据上下文就可以猜到含义了,以至于对

二战SAT阅读成功经验分享:掌握时间规律

不少同学认为阅读是SAT中最难的部分,很多人抱怨时间太紧做不完题,也有很多人说做完题了但是正确率很低。在经历了第一次SAT后,我总结了一些的阅读经验,凭借运用这些经验,我的第二次SAT阅读成绩有了非常大的进步。现在将这些经验分享给大家。   1、在做阅读题时,首先应该把文章通读一遍,但这种通读并不是漫无目的的浏览,而是要筛选着读。   在这一遍里,要注意发掘、总结作者的核心思想是什么,文章