TinyOS论文02:Finding Symbolic Bug Patterns in Sensor Networks

原创 2015年11月21日 17:15:43

Abstract

  1. 论文提出了一种用于归纳和总结传感网bug的错误诊断算法。多个不同的事件模式由于具有相同的事件属性可能有相同的错误表现,例如:某些系统中,发送方和接收方如果超出2个范围的跳数的话就会出错。
  2. 特征模式提取技术用于识别和描述传感网的异常行为,用于归纳传感网节点或者信息交换的特征模式

一、Introduce

  1. bug特征模式:传感器网络中那些可能导致bug的实际可观测的消息交互以及结点、角色和信息类型的潜在关系称之为bug特征模式。
  2. 现有的一些传感网bug调试技术。。。,例如Dustminer使用频繁的序列挖掘技术用于识别交互的bug,论文表明,对基于绝对时间属性值的事件序列分析用户识别交互bug是不充分的。
  3. 论文采用特征模式的方法,通过不同事件属性间的关系来捕获导致bug的事件序列,即找出与bug高度相关、包含bug特征模式的关键的代码序列。

二、特征模式模型

  1. 特征模式的相关概念介绍:
    1、logged事件:在运行时执行的任何操作(例如:消息的传输、消息接收和写入写入闪存)
    2、logged事件的属性:例如消息传输事件的属性:senderId,senderType、destinationId、msgType
    3、logged事件在论文中的定义为:
< EventType,attribute 1 ,attribute 2 ,...attribute n > 

例如:单一的事件序列(有3个事件的单一序列):

< msgSent,senderId = 1,msgType = 0,destinationId = 3 >
< msgReceived,receiverId = 1,msgType = 1,senderId = 3 >
< flashWriteInitiated,nodeId = 1,dataSize = 100 >
  1. 高频序列挖掘算法用于提取事件的 高频子序列。(事件的子序列可以不用重复)
  2. 不同的模式的定义:有不同“支持”的事件子序列。“支持”指的是发生的次数。
  3. 相同特征模式举例:
    1、S1和S2的logged序列:
S1 =< msgSent,senderId = 1,msgType = 0 >
< msgReceived,receiverId = 2,msgType = 0 >
S2 =< msgSent,senderId = 3,msgType = 0 >
< msgReceived,receiverId = 5,msgType = 0 >

2、特征模式:

S2 =< msgSent,senderId = X,msgType = 0 >
< msgReceived,receiverId = neighbor(X),msgType = 0 >
  1. 特征模式提取的任务是:识别满足特关系的高频模式,这个特定关系由用户指定或者从有共同关系的库中选取,并且这些特定关系定义了相同或者不同类型的事件属性,例如邻接关系、识别关系和类型关系。
  2. 特征模式提取的步骤
    1、使用先验算法生成高频模式;
    2、归纳高频模式;
    3、最后提出了模式等级方案

三、Related Work

  1. 现有的工具对检测分布在多个结点间的bug不是很适用
  2. 现有的技术都不能自动找出特征模式。
  3. SNMS提供了一种更传统的传感网管理服务,它的做法是通过手机和总结不同类型的测试例如数据包丢失、无线通信能源消耗。但它不会像开发人员提示错误信息;也不会提示为什么出错。
  4. 使用机器学习技术去诊断错误也不是最新最好的方法。

四、Overview

1、调试采用特征模式的原因
具有普遍性而不是仅针对某些特定场合。
2、特征模式提取算法
特征模式提取的两个步骤:
1、多属性事件转换成但属性事件,一次来减少计算的复杂度。使用序列挖掘算法生成单一属性的事件高频模式,将这种高频模式集合成为基本的高频集合。
2、生成候选特征模式(候选特征模式生成的步骤)
例如:

//基本的高频模式
Seq a = (< E x ,attr 2 = v i >,< E y ,attr 2 = v j >,< E z ,attr 3 = v k >)
//候选特征模式
(< E x ,attr 1 = ∗ >,< E x ,attr 2 = v i >,< E x ,attr 3 = ∗ >)
(< E y ,attr 1 = ∗ >,< E y ,attr 2 = v j >)
(< E z ,attr 1 = ∗ >,< E z ,attr 2 = ∗ >,< E z ,attr 3 = v k >)

3、Challenges

  1. 识别有意义的条件
    找出有意义的特征模式关键: 用哪一个“*”属性的子集来替代特征 + 要测试的关系是什么
    1、避免无用的检测;
    2、提升自动化程度,为了减少人为干预,论文给出了专门适用于无线传感网络应用程序的与定义条件。
    3、列举出需要检测的基本条件
    4、在头文件中指定属性的类型;
    5、任意复杂度条件的组合能够自动生成。
    特征模式提取的伪代码:
Input: Set of Good Logs (GL), Set of Bad Logs(BL),similarity measure (δ)
Output: Set of discriminative symbolic pattern
1. PatternSetA=GenerateFrequentPatterns(GL)
2. SymbolicPatternSetA=ExtractSymbolicPattern(PatternSetA,GL,δ)
3. PatternSetB=GenerateFrequentPatterns(BL)
4. SymbolicPatternSetB=ExtractSymbolicPattern(PatternSetB,BL,δ)
5. DiscriminativePatternSet=DiffMine(SymbolicPatternSetA,SymbolicPatternSetB)
6. output DiscriminativePatternSet
Function: ExtractSymbolicPattern
Input: Set of Frequent Pattern(FP),Set of Logs(L),similarity measure (δ)
Output: Set of symbolic pattern(SP)
1. SP=Null;/ ∗ setofSymbolicpattern∗ /
2. for each pattern p in FP
    2.1 for each checkcondition c
        2.1.1 CSP=GenerateCandidateSymbolicPattern(p,c)
        2.1.2 if(support(CSP)/support(p)> δ then SP=SP U CSP
2. return SP

相关文章推荐

TinyOS论文01:T-Check:Bug Finding for Sensor Networks.

一、摘要 T-Check工具:使用随机漫步和明确的状态模型检测来找出运行在TinyOS上的传感网程序的安全和活性错误; 所涉及到的模拟器:TOSSIM模拟器(事件驱动):对中断驱动并发和底层硬件交互的...
  • a362523
  • a362523
  • 2015年11月11日 09:45
  • 428

TinyOS论文04:Demo: Towards Bug-free Implementation for Wireless Sensor Networks

Abstract 在这个例子程序中,提出了一种特定领域的模型检测器——NesC@PAT; NesC@PAT工具将NesC程序作为输入,并且自动验证WSNs中违反的特定属性(例如无死锁、状态可达和线性时...
  • a362523
  • a362523
  • 2015年11月27日 23:25
  • 303

TinyOS论文03:Bugs or Anomalies? Sequence Mining based Debugging in Wireless Sensor Networks

bugs或者异常?无线传感器网络中基于调试的序列挖掘。Abstract 传感网程序由于它的分布式特点、高并发、资源有限,很容易出现bug。 论文提出了一种基于序列挖掘技术、灵活的、迭代的WSNs调试技...
  • a362523
  • a362523
  • 2015年11月25日 11:29
  • 239

TinyOS论文10:Bug Hunting in Sensor Network Applications

Abstract 论文提出了KleeNet工具,一个独立平台的传感网程序bug检测工具,他能针对所有可能的输入测试应用程序,能够保证程序的内存安全; KeelNet根据真实输入值生成正确的测试集,并且...
  • a362523
  • a362523
  • 2015年12月15日 16:56
  • 285

论文阅读心得一~ Finding and evaluating community structure in networks

老师说,写论文就像生孩子,可是对现在的我来说,读论文就像怀孩子,连婚都没结,怎么怀孩子? 关于社区发现,其实就是一个笼统的概念,把一个网络,现阶段都是复杂网络和重叠的大型网络了,划分成小的团体和组合。...

读《Finding and evaluating community structure in networks》Newman&Girvan

待编辑
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TinyOS论文02:Finding Symbolic Bug Patterns in Sensor Networks
举报原因:
原因补充:

(最多只允许输入30个字)