关键词:
Linux内核
数据结构
卷积神经网络
深度学习
图像识别
摘要:
在Linux操作系统的使用开发中,用户和开发者很容易遇到内核崩溃,内存泄露等问题。对崩溃点的分析和定位需要大量的人月,导致了资源的浪费和定位修复问题的效率低下。而且对内核内存泄露等问题的排查需要开发者一定的内核开发经验和技术水平,加大了内核调试、解决崩溃和内存泄露问题的难度。基于这样的背景,本文针对内核数据结构内存泄露问题,设计实现了一种基于图像识别的Linux内核数据结构识别系统。主要用于对内核数据结构崩溃问题的定位和快速识别。本文使用了内核测试框架LTP触发内核数据结构的创建和释放,通过修改内核代码来收集样本数据。使用样本数据位图化转换成图片格式,接着通过卷积神经网络对样本数据进行深度学习,在充分的训练后获得可以对数据结构进行识别的模型。本文基于上述方法设计并实现了 Linux内核数据结构识别系统。Linux内核数据结构识别系统能够通过测试框架对数据结构进行批量收集,对收集的数据进行位图化处理,并且能够使用数据进行模型的训练。最终该系统可以对未知的数据结构进行识别,以达到快速识别该数据结构的目的,提升对内核崩溃问题定位修复的效率。目前对收集到的512字节共十类数据结构各5000条进行了深度学习的训练,获得的模型经验证后有99%以上的识别率,具有较好的识别效果,具有潜在的应用价值。