-
题名大规模软件系统日志研究综述
被引量:37
- 1
-
-
作者
廖湘科
李姗姗
董威
贾周阳
刘晓东
周书林
-
机构
国防科学技术大学计算机学院
-
出处
《软件学报》
EI
CSCD
北大核心
2016年第8期1934-1947,共14页
-
基金
国家自然科学基金(61402496)
国家重点基础研究发展计划(973)(2014CB340703)
腾讯高校合作项目~~
-
文摘
规范和充分的日志是良好代码质量的必要因素,也是软件故障诊断的重要手段.然而,代码的质量管理受限于大规模软件代码的高复杂程度,目前,利用日志信息进行软件故障重现和诊断的难度大、效率低.从日志特征分析、基于日志的故障诊断、日志的增强这3个方面综述了日志研究的现状.通过对几种常用的大规模开源软件的日志进行调研,发现了一些日志相关的特征和规律以及现有工具难以解决的问题.最后,对未来的研究工作进行了展望,并分析了可能面对的挑战.
-
关键词
系统日志
特征分析
故障诊断
日志增强
-
Keywords
system log
log characterization
failure diagnosis
log enhancement
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于机器学习的日志函数自动识别方法
被引量:7
- 2
-
-
作者
贾周阳
廖湘科
刘晓东
李姗姗
周书林
谢欣伟
-
机构
国防科学技术大学计算机学院
-
出处
《计算机工程与科学》
CSCD
北大核心
2017年第1期111-117,共7页
-
基金
国家自然科学基金(61379146
61272483)
腾讯高校合作项目"面向故障检测的大规模开源软件日志增强技术研究"
-
文摘
随着软件规模的不断增长,日志在故障检测中发挥着愈加重要的作用。然而,目前软件日志缺乏统一标准,常受开发人员个人习惯影响,为大规模系统中日志的自动化分析带来了挑战。其中,日志函数的识别作为日志分析的前提条件,对分析结果有着直接影响。提出了一种基于机器学习的方法以支持日志自动识别。通过系统分析广泛使用的大规模开源软件,总结出日志函数编写的主要形式,并提取不同形式间的共性特征,进而基于机器学习实现了自动日志识别工具iLog。实验显示,使用iLog识别的日志函数能力平均为使用特定关键字的76倍,十折交叉验证得到iLog的分析结果的F-Score为0.93。
-
关键词
日志函数
机器学习
静态分析
代码质量
故障检测
-
Keywords
logging function
machine learning
static analysis
code quality
failure diagnosis
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-
-
题名意图敏感的日志自动增强
被引量:1
- 3
-
-
作者
贾周阳
李姗姗
刘晓东
王戟
廖湘科
-
机构
国防科技大学计算机学院
-
出处
《中国科学:信息科学》
CSCD
北大核心
2020年第11期1612-1628,共17页
-
基金
国家重点研发计划(批准号:2017YFB1001802)
国家自然科学基金(批准号:61872373,61872375)资助项目。
-
文摘
高质量的日志代码是软件故障诊断的重要依据.由于缺乏统一规范、开发人员不够重视等原因,现有软件中的日志质量参差不齐.目前,已有工作致力于日志的自动化增强,主要分为基于易错模式的方法和基于代码特征的方法,这些方法通过总结软件易错代码模式或学习已有日志代码的代码特征,进而在相应的代码段中自动添加日志语句.但开发人员添加日志代码的意图往往难以用固定的模式或特征来描述,导致日志增强的准确性不高.因此,本文探索了意图敏感的日志增强方法,提出了一种日志意图描述模型(log-intention description model,LIDM),在此基础上设计和实现了自动化日志增强工具SmartLog.SmartLog利用LIDM提取日志代码意图,挖掘日志增强规则,进而实现意图敏感的日志自动增强.本文在6款成熟且被广泛使用的开源软件上对SmartLog的有效性展开了评估.评估结果显示,SmartLog的准确性相比两个已有最好的日志增强工具分别提升43%和16%.此外,本文收集了软件演化过程中86个开发人员增加日志的实例,并使用SmartLog和两个已有工具分析每次日志演化的旧软件版本,发现3个工具可自动在新软件版本添加的日志分别是49,10,22个,软件演化效率相比已有工作显著增强.
-
关键词
日志增强
故障诊断
日志演化
软件意图
日志自动化
-
Keywords
log enhancement
failure diagnosis
log evolution
software intention
log automation
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-