基于模型的日志合理性分析评价指标

2017-03-06 23:46韩放
电子技术与软件工程 2017年1期
关键词:Apriori算法

随着信息技术和网络技术的逐渐发展,軟件工程领域中软件开发人员数量以及代码量不断增加。开发人员在代码中输出的日志是故障诊断和缺陷修复的主要依据,日志的质量是软件维护性的关键。目前并没有一种自动化的方法来评估日志的合理性,也缺少对日志合理评价的标准。在这样的背景下,提出了基于模型的日志合理性分析评价指标研究。

【关键词】软件质量管理 日志分析 多维度多指标 Apriori算法

1 引言

任何一种软件的软件日志的合理性分析与评价管理就是一种可行的有效提高软件质量的新型方法。日志从概念上来说就是按照一定事先约定的规则将软件应用程序或者软件用户的所有相关的操作行为以及软件开发设计过程中发生的事件尽可能详细记录下来。因此,软件的日志信息成为整个软件开发系统的日常调试以及软件监察等日常维护中的一种不可或缺的常用工具。软件系统日志主要作用及功能表现在以下几个方面的内容上:

(1)首先,日志能够对软件用户的各种操作行为进行审计。

(2)对各种类软件入侵行为的及时有效检测。

(3)对软件系统资源的实时监控。

(4)必要的时候帮助恢复软件系统。

(5)能够帮助评估软件系统被破坏造成的损失情况并生成详细的调查报告。

2 日志合理性分析评价指标选取

日志合理性分析评价指标选取得是否合适将决定着评价的准确性。因此,本论文中将选取多维度多指标来表征日志合理性

2.1 效率维度评价指标

(1)日志密度(分析百万行代码的用时)。定义分析代码所用总时间为T,代码行数为N,则分析百万行代码的用时为(T*1000000)/N。

(2)平均分析单个日志的时间。定义日志点的数量为b,则平均分析单个日志的时间t为T/b。

(3)增加的日志变量数/原变量数。定义日志增强前,日志中变量的数量为c1,日志增强后变量的数量为c2,则该指标表述为(c2-c1)/c1。

2.2 正确性维度评价指标

2.2.1 正确标记率

定义故障点集合为A,日志点集合为B。故障点即为理论上需要添加日志点的代码处。则正确标记率为(A&B)/A。

2.2.2 误报率及漏报率

误报率为(B-A&B)/B,误报率是用来评价错误判断故障点的程度。漏报率为(A-A&B)/A,漏报率是用来评价成功判断故障点的程度。

2.3 可维护性维度评价指标

本节重点选择重复日志率进行介绍。定义重复日志点的数量为D,则重复日志率为D/B。如果日志点重复数量很多,则不便于后期的调试及维护工作,可维护性低。日志重复情形分类如下:

情形一:根据控制流分析得到的结果,在必然执行的路径上,如果出现了变量相同的多个日志点,则判断为日志重复,且相同的日志点越多,日志重复率越高;

情形二:单个日志点对应多个日志输出适配器,每个日志输出适配器都进行了打印操作,通过解析日志配置文件可以发现并检测该日志重复问题;

情形三:日志打印出的信息重复。比如:日志中需要打印线程信息,如果线程未改变,则只打印一次线程信息即可,打印多次则判断为重复。

2.4 可扩展性维度评价指标

(1)日志触发条件的复杂度。指标:n个变量触发日志,n越大,复杂度越高,得分越低。

(2)从函数入口到log点之间的相关分支数。指标:分支里包含了对日志触发条件的赋值则该分支为相关分支;相关分支越多得分越低。

3 评价指标提取算法过程模拟

评价指标提取算法的模拟过程如图1所示。

过程描述:首先是对事务数据库进行一次完整全面地信息扫描。然后根据算法求出每个侯选集C1,及其所对应的布尔事务表的详细信息。紧接着由最小支持度相关的算法能够计算得到频繁项目集L1;进一步由项目集L1能够计算得到候选项目集C2,而在这个过程当中已经不需要再对数据库进行扫描了,这也是这种改进算法最重要的优点之一。

4 实验结果分析与结论

日志合理性分析评价实验选取了三个工程,利用分析工具对部分指标进行了提取,并在前台进行了结果展示,指标结果比较如下:

工程一(lighttpd1.4-master):日志点总数575,不合理日志点数58,故障日志点数276,正确标记率100%,误报率52%,分析所有日志点总时间45.259s,分析单个日志点时间0.079s;

工程二(coreutils-6.12):日志点总数456,不合理日志点数47,故障日志点数157,正确标记率100%,误报率65.57%,分析所有日志点总时间37.236s,分析单个日志点时间0.082s;

工程三(grep-2.5.3):日志点总数973,不合理日志点数93,故障日志点数492,正确标记率100%,误报率49.43%,分析所有日志点总时间87.742s,分析单个日志点时间0.090s;

根据实验过程以及验证结果的比对,我们有理由相信,论文中使用多维度多指标的日志合理性评价标准,能够较为全面地评价日志合理性。

参考文献

[1]高崇南,余宏亮,郑纬民.基于日志的系统任务模型推理工具及其应用[J].计算机研究与发展,2010,47(08):140-146.

作者简介

韩放(1991-),男,安徽省六安市人。毕业于华中科技大学软件学院,硕士研究生学历。研究方向为数据挖掘,云计算。

作者单位

中国电子商务协会中国电子商务师培训管理中心 湖北省武汉市 430074

猜你喜欢
Apriori算法
基于Hadoop平台的并行DHP数据分析方法
基于压缩矩阵Apriori算法的高校学生成绩相关性分析研究