运行时验证工具汇总
2017-02-01 12:53
337 查看
来源自我的博客
http://www.yingzinanfei.com/2017/02/01/yunxingshiyanzhenggongjuhuizong/
运行时验证框架列举
运行时验证工具列举
是现有的最有效最先进的运行时验证系统。
一个针对
为程序的正确运行提供了保证,可以对目标程序进行运行时监控。
是一个应用于
是一个小规模轻量级的修改版
一个内部的
是一个基于
是对
针对
利用关于计算路径的正则表达式对
> http://patricklam.ca/research/tracematch/
程序静态验证系统
特定领域的运行时验证工具
运行时验证算法实现
工具描述
基于公式重写的验证算法被面向规则的运行时验证技术所采用,它们一般使用公式重写的方法对有限踪迹是否满足给定的属性进行判定。
http://www.yingzinanfei.com/2017/02/01/yunxingshiyanzhenggongjuhuizong/
运行时验证框架列举
MOP (Monitor-Oriented Programming)面向监视的程序设计方法,对运行时验证技术进行了扩展,能够在性质满足或违反的时候作出相应的反应。基于
AOP (Aspect-Oriented Programming)实现
LARVA
JAVA程序的安全实时监控
RMOR (Requirement Monitoring and Recovery)用于监控C程序的验证框架
MaC (Monitoring and Checking)是一个通用的运行时验证框架,设计目的是确保目标程序在满足形式化需求规约前提下正确运行。它可以对任何编程语言进行验证。
Mac验证框架使用形式化需求规约来描述待验证的性质,且其根据一个给定的需求规约自动执行插装、监控及验证。相比于
MOP、
LARVA等其它验证框架来说,它最大的特点是将程序监控与验证过程分享开来,从而使得高层需求规约独立于实现。
运行时验证工具列举
MOP\
是现有的最有效最先进的运行时验证系统。
MOP以插件的方式支持许多不同的逻辑,都使用同样的索引算法来快速访问监视器基于参数事件。一般地,
MOP被设计来监视程序执行(在线监视)。例如,
JAVAMOP验证由运行时
JAVA程序生成的事件,用
ASPECTJ仪表化。在这个评价里日志分析是在程序中插入一个日志阅读器来实现的,从日志中读入每个事件,调用给特定各类事件定义的方法,这些是空的函数体(什么都不做)。对这些空函数体方法的调用用
ASPECTJ仪表化来驱动监视器
JavaMOP\
一个针对
Java的基于监控的编程(
MOP)的软件开发和分析环境继承了
MOP的架构,它将软件需要满足的规则以及程序的实现结合在一起。最大特点是支持多种逻辑,如上下文无关文法
CFG、线性时序逻辑
LTL、有限状态机
FSM等。使用这些逻辑可以方便地对属性规范进行描述。
JavaMOP属性规范的描述采用
mop语法,生成的监控器代码是
AspectJ源文件,采用
abc编译器将
AspectJ源文件与
Java文件进行混合编译即可对程序进行运行时验证。使用
JavaMOP,用户还可以实现特定的接口,定义自己的属性描述语言,具有可插拔性和灵活性。
MaC(Monitoring and Checking)\
为程序的正确运行提供了保证,可以对目标程序进行运行时监控。
Java-MaC是
MaC体系的一个原型实现,可以应用于
Java程序的运行时监控。
Java-MaC最大的特点是较低层次的、与实现相关的程序行为的监控和较高层次的、与编程语言无关的、使用形式化描述的规范的分离。该设计使
JavaMaC具有很强的灵活性和可扩展性。
Java-MaC
RULER\
是一个应用于
JAVA的运行时验证工具,创建为基于规则的系统,但和
RETE算法相比有点小区别。
RULER在下一步中移除了事实,除非通过规则明确指示保持它。与其相反,
RETE只有在规则中明确指示移除事实时才会移除。
LOGSCOPE\
是一个小规模轻量级的修改版
RULER,强调数据参数化状态机器,应用于
SCALA上。
LOGSCOPE与
RULER相反,研究的是事实的保留除非其在规则中被明确移除。
LOGSCOPE被开发来探索语言特征且不是优化的。
TRACECONTRACT\
一个内部的
SCALA DSL用于状态机器,浅层的
DSL和深层的
LTL,也是一个简单的基于规则的符号(浅层)。应用于重写和标准化公式。
TRACECONTRACT被开发来探索语言特征且不是优化的。
PaX
Eagle
Hawk\
是一个基于
Eagle的运行时验证工具。
Eagle逻辑能够被用来定义和实现多种线性轨迹监控逻辑,采用不动点理论计算时序公式的真假。
Jass\
是对
Java进行运行时验证的工具,源于契约设计思想,使用注释及代码生成技术进行运行时验证。对程序的源代码有很强的依赖性。
JPaX(Java PathExplorer)\
针对
Java语言的运行时验证工具
TraceMatches\
利用关于计算路径的正则表达式对
AspectJ进行了扩展,使得多线程程序验证人员可以单独考虑单个线程或者多个线程的交叉执行。
> http://patricklam.ca/research/tracematch/
LOLA
Larva
J-LO
Temporal Rover
Conspec
MOPBox
程序静态验证系统
JML
Jahob
FindBugs
Coverity
特定领域的运行时验证工具
ARVE
Tamago
ORCHIDS
DMac
LIME
运行时验证算法实现
RETE
LOGFIRE: 扩充了事件处理和索引方案的
RETE算法
RETE/UL: 添加了事件处理的对
RETE算法的
SCALA直接实现。
LOGFIRE是附带有索引的此方法优化实现。
DROOLS: 一个主要的最先进的为
JAVA语言制订的基于规则系统,并且能免费从
JBoss社区获取。
DROOLS基于一个
RETE算法的增强实现。
工具描述
Jass和
JavaMOP都使用了切面编程(
Aspect-oriented Programming, AOP)技术及代码生成技术,而
Java-Mac采用了更为精细的字节码插入技术。这3种解决方案涵盖了目前运行时验证领域里的常用技术。
MOP支持基于自动机的验证算法。在监控器生成的初期,
MOP将所有的非自动机的逻辑描述转化为自动机,然后生成一个监控器抽象表示,之后再生成监控器代码。
LARVA采用时间自动机描述属性,并生成
AspectJ监控器。
Java-MaC与
TraceMatches也采用类似的方法
基于公式重写的验证算法被面向规则的运行时验证技术所采用,它们一般使用公式重写的方法对有限踪迹是否满足给定的属性进行判定。
LOLA、
Java PathExplorer在对
LTL属性进行监控时也采用了这样的方法。
相关文章推荐
- 网摘正则验证工具(html代码,可本地运行)
- WAYOS免拉黑验证工具1.91发布,修正处理内核,保证软件稳定运行
- 网络流量监测图形分析工具和linux系统运行监控工具汇总
- 一个模型验证工具--pi4soa
- MAXIMO5.2明细报表工具栏按钮替换为运行报表
- 代替windows运行的工具
- 微软正版验证工具相关知识
- Expression Designer系列工具汇总 [转载]
- 程序以及窗体运行的唯一性汇总
- RSS工具和资源汇总,引用http://www.williamlong.info/archives/641.html
- Windows正版增值验证工具(KB892130)对付办法【新办法见链接】
- RSS工具和资源汇总
- RSS工具和资源汇总
- *巨好的东西* 使 Framework 2.0 的程序集不用安装 Framework 就可以运行的工具免费发布了
- 在Struts中验证框架的运行机制
- RSS工具和资源汇总
- 微软正版验证工具
- 嵌入式开发工具汇总