首页 | 本学科首页   官方微博 | 高级检索  
     

基于程序层次树的日志打印位置决策方法
引用本文:贾统,李影,张齐勋,吴中海.基于程序层次树的日志打印位置决策方法[J].软件学报,2021,32(9):2713-2728.
作者姓名:贾统  李影  张齐勋  吴中海
作者单位:北京大学信息科学技术学院, 北京 100871;北京大学软件工程国家工程研究中心, 北京 100871;北京大学软件与微电子学院, 北京 102600
基金项目:国家重点研发计划(2017YFB1002002)
摘    要:基于日志分析的故障诊断是智能运维的关键技术之一,然而该技术存在关键瓶颈——日志的质量.当今,由于程序开发人员缺乏日志打印规范和指导等问题,日志质量欠佳,因此实现日志的自动化打印决策以提升日志质量的需求日益迫切.关注自动化日志打印决策问题,与现有研究工作不同,提出一种基于程序层次树和逆序组合的特征向量生成方法,能够适用于不同编程语言编写的软件系统.此外,还利用迁移学习算法实现跨组件和跨软件系统的日志打印位置决策.在3个典型的应用场景——版本升级、组件开发和系统开发及5个流行的开源软件系统——OpenStack,Tensorflow,SaltCloud,Hadoop和Angel上的实验表明:所述方法在Java系统中的日志打印决策准确率约为95%,在Python系统中的日志打印决策准确率约为70%.

关 键 词:日志打印位置决策  程序层次树  迁移学习
收稿时间:2019/5/22 0:00:00
修稿时间:2019/9/24 0:00:00

Automatic Logging Decision Through Program Layered Structure Tree and Transfer Learning
JIA Tong,LI Ying,ZHANG Qi-Xun,WU Zhong-Hai.Automatic Logging Decision Through Program Layered Structure Tree and Transfer Learning[J].Journal of Software,2021,32(9):2713-2728.
Authors:JIA Tong  LI Ying  ZHANG Qi-Xun  WU Zhong-Hai
Affiliation:School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China;National Engineering Research Center for Software Engineering, Peking University, Beijing 100871, China;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.
Keywords:logging decision  program layered structure tree  transfer learning
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号