程序分析论文精读
文章平均质量分 81
Canliture
hello, 程序分析!
展开
-
程序分析论文导航(Todo-List)
这里记录一些论文,我需要看的,或者一些已经看过的(虽然我看过的很少 - _ - )也可以算是todo-list吧最初是想着有时候需要看些论文,倒不是奔着学术方向走,只是有时候对这个挺感兴趣hhh;然后去网上down下来论文,有时看着看着就忘记论文的事了。这里把它记下来,算是不那么容易忘记了。这些应该算是入门吧 ??? 虽然我还没入门 … 后续打算看完一篇论文写一篇博客,记录一下学习过程。1995, IFDS开山之作:Precise Interprocedural Dataflflow An.原创 2021-08-05 00:01:16 · 619 阅读 · 3 评论 -
How to review a paper?
How to review a paper?原创 2023-02-07 15:31:08 · 307 阅读 · 2 评论 -
CGO‘11-Flow-Sensitive Pointer Analysis for Millions of Lines of Code-百万行规模的流敏感稀疏指针分析
这篇文章发表在2011的CGO上, 该文章提出的技术是利用`两阶段分析`完成对百万行代码的`流敏感`指针分析技术。原创 2022-12-28 17:34:10 · 471 阅读 · 2 评论 -
PLDI‘21-Path-Sensitive Sparse Analysis without Path Conditions-基于程序依赖图的路径敏感稀疏分析
这篇文章是港科大团队在PLDI 2021会议上发表的文章。在这之前,作者在PLDI 2018发表Pinpoint。这篇文章在Pinpoint上改进。在Pinpoint的设计中,存储摘要的时候仍然需要`缓存大量的路径条件`,以及在应用摘要时进行`大量的克隆`,导致逻辑公式大小进行指数级的增长。而在PLDI 2021中,作者进一步提出,我们可以不用构建Value Flow Graph了!直接在程序依赖图(Program Dependence Graph)上就可以达到相同的路径敏感检测效果。原创 2022-12-28 17:25:34 · 777 阅读 · 1 评论 -
2010‘FSE-Practical and Effective Symbolic Analysis for Buffer Overflow Detection 利用符号分析方法检测缓冲区溢出
作者在本文提出一个新的利用符号分析来检测缓冲区溢出的方法,该方法是路径敏感的,能够处理循环等复杂特性。该方法能够在11分钟内分析860万行代码,误报率低于10%。原创 2022-12-28 17:17:31 · 231 阅读 · 0 评论 -
FSE‘03-ARCHER: Using Symbolic, Path-sensitive Analysis to Detect Memory Access Errors-路径敏感缓冲区溢出检测
这次读一读FSE‘03上发表的检查内存越界的paper。它是`路径敏感`的,同时能够分析`百万行`规模的代码。作者分析了几个大的开源项目如OpenBSD, SendEmail, PostgreSQL, Linux内核,平均误报率低于35%。原创 2022-12-28 17:09:50 · 142 阅读 · 0 评论 -
ICSE‘08 - Calysto: Scalable and Precise Extended Static Checking - 路径敏感bug-finding工具Calysto
这篇文章要讨论的是2008年在ICSE会议上发表的静态分析工具论文: `Calysto`。这个bug-finding工具有比较好的精度的同时,又能检测比较大规模的代码。原创 2022-12-28 17:05:05 · 211 阅读 · 0 评论 -
ICSE‘22 Precise Divide-By-Zero Detection with Affirmative Evidence 数值除零bug检测
今天要讨论的是ICSE'22, 它利用VFG进行数值程序分析,检测程序中可能出现的除零bug。原创 2022-12-28 16:59:01 · 510 阅读 · 0 评论 -
TOPLAS‘07: Effective Field-Sensitive Pointer Analysis for C 字段敏感C程序指针分析
本文介绍介绍另一篇Andersen式指针分析,作者提出的方法是字段敏感的。原创 2022-12-28 16:43:25 · 573 阅读 · 0 评论 -
PLDI‘02 ESP: Path-Sensitive Program Verification in Polynomial Time - 路径敏感分析ESP: Property Simulation
这篇文章发表在PLDI'02, 作者的相关工作分析了1.4 millions LOC (微软word 97)。ESP同时也借鉴了Metal Checking System (Coverity) 一些想法原创 2022-12-28 16:27:20 · 257 阅读 · 0 评论 -
中断并发程序的静态分析
最近得研究下多任务并发程序的静态分析(包括中断),于是看了这篇文章;这篇文章是国防科大的团队在15年,16年所做的工作;主要是分析中断导致的程序并发,方法是:“将程序顺序化,然后重用经典的抽象解释方法进行分析;当然,还设计了抽象域专门处理IDPs的特性”原创 2022-04-09 13:50:03 · 831 阅读 · 0 评论 -
检测并发程序Bug:[PLDI2021] Canary: Practical Static Detection of Inter-thread Value-Flow Bugs
最近得研究下多任务并发程序的静态分析,于是看了这篇文章总体来说,看是看懂了,但是… … 这篇文章所做的工作有点多啊… 怕了怕了1. Canary: Practical Static Detection of Inter-thread Value-Flow Bugs这篇文章发表在PLDI 2021,并发Bug缺陷检查。首次将并发bug检测转化为source-sink可达性问题,有效减低冗余的线程交错处理。提出值流图上的thread-modular算法来捕获数据和干扰(interference.原创 2022-04-05 17:46:07 · 690 阅读 · 2 评论 -
IFDS论文算法精解:应用于污点分析的例子
这里以一个污点分析的例子来说明IFDS论文中的Tabulation算法(IFDS Solver求解器)是怎么工作的。1. 这里给定两个函数,它们之间有一条从source到sink的污染路径2. 最终的有效的污点传播相关的边如下所示;其中红色边对应于FlowFunction,也叫TransferFunction或者TransferRelation等术语。表示数据流经过一条语句后的流向。绿色边PathEdge为论文中描述的PathEdge,蓝色SummaryEdge为摘要边,避免重复计算。3. 整原创 2021-09-23 20:20:42 · 3202 阅读 · 1 评论 -
IFDS开山之作:Precise Interprocedual Dataflow Analysis via Graph Reachability
《Precise Interprocedual Dataflow Analysis via Graph Reachability》一大类的流程间数据流问题,通过将其转化为一种特殊的图可达性问题,能够在多项式时间复杂度内被精确求解。对于这类数据流问题的唯一约束就是:数据流事实必须是有限集,数据流转换函数必须在交汇操作(Union或Intersection)上是可分配的。这类数据流问题包括但不限于经典的seperable problems(也叫gen/kill,bit-vector),比如reachi.原创 2021-08-05 22:15:09 · 2797 阅读 · 6 评论