Java数组越界检测系统的设计与实现

Java数组越界检测系统的设计与实现

论文摘要

时至今日,软件的安全漏洞已经成为黑客进行攻击的重要途径。任何在软件设计或实现中所带来的安全漏洞,都有可能成为以后安全事件的隐患,给社会带来巨大的损失。数组越界是缓冲区溢出漏洞的一种最常见形式。在使用数组类型进行程序设计的软件中,数组越界是普遍存在的。及早地发现程序中潜在的问题,会减少以后的损失。本文首先分析了软件安全漏洞的分类和几个主流的静态分析方法,并对数组越界问题进行了研究。其次给出了一个用来对Java程序中数组越界错误进行检测的静态分析方法。该方法基于区间整数范围约束,用容量和下标范围刻画数组变量,将各个数组变量的描述属性和各个整型变量一起作为程序状态,用整数范围约束来刻画程序指令对程序状态的改变,生成约束系统。然后对约束系统进行求解,得到其最小解,并对求出的各个数组变量的容量和下标范围进行比较,以此判断是否存在数组越界。该分析方法不考虑存在递归函数的情况,以函数为单位,并沿着函数调用关系自底向上依次处理各个函数。本文最后描述了Java数组越界检测系统的设计与实现,并通过一些实例程序来验证检测方法的有效性。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 选题背景和意义
  • 1.2 本文的主要工作
  • 1.3 本文的组织结构
  • 第二章 软件安全漏洞与静态检测技术
  • 2.1 软件安全漏洞
  • 2.2 静态分析技术
  • 2.3 本章小结
  • 第三章 Java 数组越界静态分析方法
  • 3.1 Java 数组越界静态分析
  • 3.2 静态分析方法的流程
  • 3.3 程序状态及其迁移
  • 3.4 过程内和过程间分析
  • 3.5 控制流图和逻辑路径的生成
  • 3.6 小结
  • 第四章 数组越界检测系统的设计与实现
  • 4.1 系统架构
  • 4.2 系统结构
  • 4.3 代码解析模块
  • 4.4 代码分析模块
  • 4.5 数组越界检测模块
  • 4.6 数据持久化模块
  • 第五章 系统运行结果
  • 5.1 系统界面
  • 5.2 数组越界检测结果
  • 第六章 总结和展望
  • 参考文献
  • 相关论文文献

    • [1].基于污点分析的数组越界缺陷的静态检测方法[J]. 软件学报 2020(10)
    • [2].二维数组在俄罗斯方块游戏编程中的应用分析[J]. 数码世界 2020(02)
    • [3].怎样用给出的数组比例[J]. 数学小灵通(5-6年级版) 2010(03)
    • [4].“数组”教学设计[J]. 中小学电教(下) 2011(11)
    • [5].C程序数组越界的运行时验证技术研究与实现[J]. 计算机工程与应用 2015(11)
    • [6].C语言中二维数组的输出样式辨析[J]. 软件 2013(07)
    • [7].不含L连续数组的排列计数问题的研究[J]. 广东技术师范学院学报 2013(07)
    • [8].基于容器对象的动态控件数组研究[J]. 现代电子技术 2012(01)
    • [9].基于C++二维数组的几个问题研究[J]. 硅谷 2012(22)
    • [10].用多位数动态数组实现进制转换的研究[J]. 湖南文理学院学报(自然科学版) 2011(01)
    • [11].C++动态数组的实现与重用[J]. 计算机技术与发展 2010(02)
    • [12].二维数组复杂性测度的统计复杂度改进[J]. 哈尔滨工业大学学报 2009(10)
    • [13].计算机数组分析研究[J]. 硅谷 2008(02)
    • [14].运用控件数组提高编程效率[J]. 职业 2008(36)
    • [15].关于印度奇妙数组三个性质的证明[J]. 中学数学 2008(21)
    • [16].数组越界的静态分析[J]. 电脑编程技巧与维护 2012(04)
    • [17].基于链表结构的多维动态数组设计方法[J]. 西北师范大学学报(自然科学版) 2011(01)
    • [18].程序符号执行中的数组分析[J]. 长江大学学报(自然科学版)理工卷 2010(01)
    • [19].C语言中动态数组的构建[J]. 科技信息 2010(24)
    • [20].关于在C++中数组申请归还实现的研究与应用[J]. 福建电脑 2009(04)
    • [21].浅析C++中获取数组长度的若干方法[J]. 电脑知识与技术 2018(19)
    • [22].两类有趣数组[J]. 吉首大学学报(社会科学版) 2013(S1)
    • [23].在C语言中利用动态结构数组处理学生成绩表[J]. 软件导刊 2012(08)
    • [24].ABCE:Java冗余数组越界检查消除[J]. 小型微型计算机系统 2010(11)
    • [25].影院售票系统开发中动态数组的灵活应用[J]. 计算机应用与软件 2009(07)
    • [26].混合计算工程中复合数据的传递(Ⅲ)——派生类型内嵌数组[J]. 武汉大学学报(工学版) 2009(04)
    • [27].0LAP中多维数组的一种改进压缩算法[J]. 计算机与现代化 2008(10)
    • [28].倍增法之后缀数组解决重复子串的问题[J]. 中国新通信 2016(17)
    • [29].抓住特征 分步思考[J]. 数学大世界(小学5-6年级版) 2015(06)
    • [30].一种过程内及过程间数组越界故障的静态检测方法[J]. 计算机研究与发展 2010(S1)

    标签:;  ;  ;  ;  ;  

    Java数组越界检测系统的设计与实现
    下载Doc文档

    猜你喜欢