引用本文:贾统,李影,张齐勋,吴中海.基于程序层次树的日志打印位置决策方法.软件学报,2021,32(9):2713-2728
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 1408次   下载 4104 本文二维码信息
码上扫一扫!
分享到: 微信 更多
基于程序层次树的日志打印位置决策方法
贾统1, 李影2, 张齐勋3, 吴中海2,3
1.北京大学信息科学技术学院, 北京 100871;2.北京大学软件工程国家工程研究中心, 北京 100871;3.北京大学软件与微电子学院, 北京 102600
摘要:
基于日志分析的故障诊断是智能运维的关键技术之一,然而该技术存在关键瓶颈——日志的质量.当今,由于程序开发人员缺乏日志打印规范和指导等问题,日志质量欠佳,因此实现日志的自动化打印决策以提升日志质量的需求日益迫切.关注自动化日志打印决策问题,与现有研究工作不同,提出一种基于程序层次树和逆序组合的特征向量生成方法,能够适用于不同编程语言编写的软件系统.此外,还利用迁移学习算法实现跨组件和跨软件系统的日志打印位置决策.在3个典型的应用场景——版本升级、组件开发和系统开发及5个流行的开源软件系统——OpenStack,Tensorflow,SaltCloud,Hadoop和Angel上的实验表明:所述方法在Java系统中的日志打印决策准确率约为95%,在Python系统中的日志打印决策准确率约为70%.
关键词:  日志打印位置决策  程序层次树  迁移学习
DOI:10.13328/j.cnki.jos.005990
分类号:TP311
基金项目:国家重点研发计划(2017YFB1002002)
Automatic Logging Decision Through Program Layered Structure Tree and Transfer Learning
JIA Tong1, LI Ying2, ZHANG Qi-Xun3, WU Zhong-Hai2,3
1.School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;2.National Engineering Research Center for Software Engineering, Peking University, Beijing 100871, China;3.School of Software and Microelectronics, Peking University, Beijing 102600, China
Abstract:
With the development of AIOps, log-based failure diagnosis has become more and more important. However, this technique has a key bottleneck-the quality of logs. Today, the lack of log printing specifications and guidance for programmers is a key factor of poor log quality, thus the need of automatic logging decision so as to improve log quality is becoming urgent. This study focuses on automatic logging decision. Specifically, the aim is to propose a general logging point decision approach. Different from existing works, an automatic feature vector generation method is proposed based on program layered structure tree and reverse composition, which can be applied to software systems written in different programming languages. In addition, this study leverages transfer learning algorithms to achieve cross-component and cross-project logging point decision. The approach is evaluated on five popular open source software systems, namely, OpenStack, Tensorflow, SaltCloud, Hadoop, and Angel, in three typical application scenarios including software upgrading, new component development, and new project development. Results show that the proposed approach performs about 95% accuracy in Java projects and 70% accuracy in Python projects on average.
Key words:  logging decision  program layered structure tree  transfer learning

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: