随笔分类 -  软件分析

软件分析套餐,绝赞更新中
摘要:Soundness Conservative approximation: captures all program behaviors, or the analysis result models all possible executions of the program 然鹅 Academia 阅读全文
posted @ 2021-08-14 02:45 jjppp 阅读(103) 评论(0) 推荐(0) 编辑
摘要:这一节主要讨论针对CFG中的路径的优化 Feasible & Realizable Paths Infeasible Paths: paths that do not correspond to actual executions Unrealizable Paths: paths whose "r 阅读全文
posted @ 2021-08-13 23:32 jjppp 阅读(357) 评论(0) 推荐(0) 编辑
摘要:Datalog = Data + Logic,是声明式编程语言(Declarative Programming Language) Prolog的一个子集 Datalog最早作为数据库的查询语言出现,是非图灵完备的编程语言 语法 和数理逻辑的命题逻辑、谓词逻辑基本是一致的,如果看的教材和我一样是Ma 阅读全文
posted @ 2021-08-13 14:29 jjppp 阅读(1089) 评论(0) 推荐(0) 编辑
摘要:下面几节课都比较轻松,内容偏科普性质 Security Achieving some goals in the presence of adversaries 这个概括可以说是很简练了 统计意义下最常见的两类漏洞: Injection Errors Information leaks 这两者本质上都 阅读全文
posted @ 2021-08-08 22:42 jjppp 阅读(82) 评论(0) 推荐(0) 编辑
摘要:CSA=Context Sensitive Analysis 上下文敏感分析 不敏感的分析认为所有语句的执行顺序无法区分,也就是没有上下文的概念 考虑如下代码片段 class A; A a = new A(); // o1 A b = new A(); // o2 A pa = func(a); A 阅读全文
posted @ 2021-08-08 22:35 jjppp 阅读(119) 评论(0) 推荐(0) 编辑
摘要:PA=Pointer Analysis 指针分析 Motivation CHA方法实际上没有利用足够的信息(即实际上变量可能指向的对象所从属的类的范围可以进一步缩小),会引入假的调用边 Pointer Analysis PA是一种基础的静态分析,它要回答的问题是"某个指针p的值域可能是啥" 对于OO 阅读全文
posted @ 2021-08-04 23:45 jjppp 阅读(131) 评论(0) 推荐(0) 编辑
摘要:CGC=Call Graph Construction Motivation 如果只做method内的分析,则任何包含function call的语句都需要保守分析(例如说默认不是常数) 这样是不利于进一步做优化的,因此引入Call Graph图对CFG作拓展 java call invokesta 阅读全文
posted @ 2021-08-04 23:44 jjppp 阅读(117) 评论(0) 推荐(0) 编辑
摘要:这里的DFA可不是有限状态自动机( Data Flow Analysis 这一部分是比较重的重点...要好好看 或许需要补一补lattice(事实证明这一部分非常简单...) Data Flow Analysis 实际是要通过 How Application-Specific Data Flows 阅读全文
posted @ 2021-06-11 15:09 jjppp 阅读(449) 评论(0) 推荐(0) 编辑
摘要:术语 IR = Intermediate Representation 代码的中间形式 AST = Abstract Semantic Tree 抽象语法树 IR 上节讲到的同态映射需要一个具体的载体,类比我们常常将n维线性空间同构到R^n上考虑,这里就引入了IR IR也是一种语言,可以作任意语言到 阅读全文
posted @ 2021-06-11 15:02 jjppp 阅读(247) 评论(0) 推荐(0) 编辑
摘要:决定要好好开干了,于是有了这个系列的笔记 真是绝了,我连淑芬都没有专门的笔记 回想上学期的考试周开了CSAPP的大锅,这次考试周开了软件分析的大锅,考试周真是除了考试都好玩 术语 PLT = Programming language theory 编程语言理论 Static Analysis 静态分 阅读全文
posted @ 2021-06-11 14:57 jjppp 阅读(155) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示