基于大规模源码挖掘的日志语句级别推荐方法
发布时间:2023-04-11 21:34
记录日志是软件开发过程中一种普遍的代码实践,目的是收集软件系统运行时的重要信息,这些信息在软件系统的跟踪调试、缺陷排查、性能优化、重要业务信息备案等工作中都有不可替代的作用。为此,日志的记录需要全面地覆盖必要的运行时信息,同时避免引发额外的问题(如:性能开销,日志冗余等问题)。为了达到这样的目的,一个重要的手段是:在代码中插入日志语句时,对日志消息进行分级管理。然而,能否为日志消息选择一个恰当的级别,既取决于软件开发者的领域知识、开发经验等个人能力因素,也受到实际软件开发过程中各种客观条件的影响。对于新手开发者来说,这项任务尤其具有挑战性。为了帮助开发人员做出更恰当的日志级别决定,本文提出了一种基于大规模源码挖掘的日志语句级别推荐方法。本文基于大量日志代码实例以及与之相关的程序上下文特征,研究日志语句级别的选择,主要贡献如下:(1)本文使用数据挖掘的方法,分析了大量开源软件仓库中的实际项目,并获取到较大数据量带级别标注的日志语句实例。同时,本文基于抽象语法树,对获取到的日志代码实例进行静态程序分析,从项目、文件到代码语句等多个软件层次中抽取出日志级别选择相关的5类程序上下文特征。这些程...
【文章页数】:63 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第1章 绪论
1.1 研究背景及意义
1.2 研究内容
1.3 论文结构
第2章 相关技术及研究现状
2.1 关于日志实践的经验性研究
2.2 软件仓库挖掘
2.3 日志数据分析
2.4 日志增强
2.5 相关工作总结
第3章 基于大规模源码挖掘的日志语句级别推荐方法
3.1 相关概念及其定义
3.2 方法概述
3.3 日志代码实例获取
3.3.1 基于抽象语法树的静态代码解析
3.3.2 日志代码级别归一化
3.3.3 开源软件仓库挖掘
3.4 数据预处理
3.4.1 特征抽取
3.4.2 文本特征处理
3.4.3 特征选择
3.5 机器学习模型训练
3.5.1 数据均衡处理
3.5.2 去除噪声数据
3.5.3 随机森林分类算法
3.6 相关工作的对比和分析
3.7 本章小结
第4章 实验与分析
4.1 实验数据集介绍
4.2 实验评估指标
4.3 实验环境
4.4 实验过程及结果
4.4.1 日志代码数据获取
4.4.2 数据预处理
4.4.3 日志代码级别推荐
4.4.4 实验结果与分析
4.5 本章小结
第5章 总结与展望
5.1 总结
5.2 展望
参考文献
攻读硕士期间取得的学术成果
致谢
本文编号:3789790
【文章页数】:63 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第1章 绪论
1.1 研究背景及意义
1.2 研究内容
1.3 论文结构
第2章 相关技术及研究现状
2.1 关于日志实践的经验性研究
2.2 软件仓库挖掘
2.3 日志数据分析
2.4 日志增强
2.5 相关工作总结
第3章 基于大规模源码挖掘的日志语句级别推荐方法
3.1 相关概念及其定义
3.2 方法概述
3.3 日志代码实例获取
3.3.1 基于抽象语法树的静态代码解析
3.3.2 日志代码级别归一化
3.3.3 开源软件仓库挖掘
3.4 数据预处理
3.4.1 特征抽取
3.4.2 文本特征处理
3.4.3 特征选择
3.5 机器学习模型训练
3.5.1 数据均衡处理
3.5.2 去除噪声数据
3.5.3 随机森林分类算法
3.6 相关工作的对比和分析
3.7 本章小结
第4章 实验与分析
4.1 实验数据集介绍
4.2 实验评估指标
4.3 实验环境
4.4 实验过程及结果
4.4.1 日志代码数据获取
4.4.2 数据预处理
4.4.3 日志代码级别推荐
4.4.4 实验结果与分析
4.5 本章小结
第5章 总结与展望
5.1 总结
5.2 展望
参考文献
攻读硕士期间取得的学术成果
致谢
本文编号:3789790
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3789790.html