如何读论文

今天上午有点时间,就模拟了一把读论文,首先是打开Google Scholar,搜索software vulnerability,得到的搜索结果是这样的。

很明显可以看到,第一篇的引用率高高在上,并且还是1998年的,所以应该错不了,所以先看这篇。打开之后发现是一篇普渡大学(Purdue University)的博士论文,先看一眼目录。

可以看到它有对基本术语Error,Faults,Failure的辨析,有对软件漏洞的解释,有对分类的描述,并且相关工作描述了对漏洞的各种分类法,一看这就是我们需要的东西,并且如果相关工作写这些东西,那么此人做的应该也是分类的工作。从目录的情况也不难理解为何引用如此之多,这很明显是基础性的工作。

然后我立刻跳转到Software Vulnerability,文章直接给出了现存的软件漏洞的三种定义,并且每种定义都给出了明确的出处。

考虑到论文的总结性质,引用率,以及1977年之后才有超大规模集成电路,那么如果继续追溯去读这三篇给出定义的文章,基本上就可以认为读到源头了,以后这就是本领域的基础。

这时我想到你貌似发过一篇笔记的照片给我,我去翻了翻,突然发现你总结的就是这三个定义的中文翻译版,所以你应该感到高兴,你走在了正确的道路上

在后续的章节中,文章还重点介绍了Taxonomy 和 Classification 和定义本身的各种辨析,介绍了漏洞的各种分类,没细看,但的确有利于修炼内功和打基础。

接着顺着Scholar的结果往下看,我又分别扫了两眼以下几篇,扫的时候只溜了溜摘要和几句Introduction

第一篇是一个调查,Scholar上面有几篇类似的,貌似是从软工的角度去写的,关注的是life cycles,第二篇提出了一种工具,侧重于检测,目测是静态分析工具,Scholar上也有一些做检测的,第三篇摘要给出了一个软件漏洞的简要定义,然后说漏洞分析分为静态分析和动态分析两种,然后它自己鼓捣出了一个动态的给大伙看看。

懒得再看更多了,总共用了一个小时左右吧,基本上的直觉是(直觉不一定是对的):

  1. 软件漏洞大致有分析(analysis),检测(detection),测试(testing)等等分支,另外有几篇调查性质的没细看它们在做什么,如何归类。
  2. 那篇博士论文非常重要,辨析了众多术语,以及不同概念之间的细微差异,是内功。
  3. 动态分析和静态分析是工具,在文章中看到了几个熟悉的工具名字。

这就是我从零开始了解一个东西的过程,如果让我继续做下去,我会考虑这么几点:

  1. 是不是分析,检测,测试等等都让我调研,还是只调研其中某个方面。
  2. 顺着scholar的搜索结果统计,看看有多少分析的,多少检测的等等,做个数量分类;大致看看每篇文章的参考文献,看看他们相关工作引用的文章,和Scholar的结果做个对照,整体把握一下文章数量。
  3. 在找到的分析和检测的文章中,顺着参考文献找下去,统计下常用的静态和动态的工具,统计下他们互相说的对方的优缺点。这已经可以构成不少调研报告的内容。
  4. 抽空细读那篇有各种定义和分类辨析的论文,打打基础。

如果需要本文展示的文章,请点击这里下载。


comments powered by Disqus