> 硕士毕业论文 > 36000字硕士毕业论文论操作痕迹与任务的逻辑关系

36000字硕士毕业论文论操作痕迹与任务的逻辑关系

论文类型:硕士毕业论文
论文字数:36000字
论点:软件,代码,踪迹
论文概述:

本研究,对软件运行踪迹的获取成了人们了解软件行为的切入点。当今,获取软件行为踪迹已经成为许多人研究的课题。

论文正文:

第一章简介

随着计算机技术和互联网应用技术的飞速发展,各种应用软件已经渗透到政治、经济、军事、文化、科技、教育、卫生等社会的各个领域,以及人们日常生活的各个方面。然而,任何软件产品都不可能完全没有任何缺陷或漏洞,在软件开发过程中,软件需求不能准确描述用户的需求,用户的需求也各不相同。由于上述原因,开发的软件需要不断地修改、扩展和修补,这在使用软件的过程中随处可见。此外,对于一些大规模系统,软件设计和实现过程中不可避免地会出现错误,从而使系统性能不同于预期行为。软件运行错误的根本原因通常隐藏在复杂的应用逻辑下,大型软件通常是分工合作的产物。发现这些错误通常需要很长时间。为了保护自己的利益,软件开发人员通常以可执行代码的形式发布他们的软件。用户无法获得软件的源代码。这些复杂的系统对用户来说就像一个“黑匣子”,使他们无法处理系统产生的问题。

1.1。研究背景和意义

了解软件的运行时行为对软件开发人员至关重要。它可以帮助他们验证软件设计,解决软件实现过程中产生的错误,并发现软件逻辑和性能方面的问题。然而,随着软件系统的发展,软件设计变得非常复杂,运行时的行为也各不相同。因此,直接软件开发人员要完全理解系统逻辑并不容易。此外,软件通常被分成不同的部分,这些部分由不同的程序员组共同开发,并且随着用户需求和软件性能需求的变化而在未来不断演变成新的版本。根据进一步的研究,应用软件通常使用分层设计模式,不同级别的模块协作处理用户的请求。上部模块中的某个功能将由下部模块的多个功能共同完成。完成模式可以是顺序的或并行的,跨越多个机器、进程和线程。所有这些条件都给开发人员理解系统运行时行为造成了很大障碍。因此,研究系统任务行为的逻辑关系,对理解系统的可靠性和性能、系统设计和系统优化具有深远的意义。..............................
...................

第二章相关工作

本章主要介绍本文涉及的相关研究工作和理论。首先,介绍了代码插件技术,它是理解软件操作行为的强大机制。它通常分为静态插件和动态插件。本章分别介绍了两种插件技术。然后介绍了几种典型的痕量分析方法。然后阐述了时序逻辑的基本思想,分别介绍了线性时序逻辑和计算树逻辑。最后,任务状态将由计算树逻辑描述。最后是本章的总结。

2.1。代码插入技术

代码插入是一种通过在程序中插入新代码或修改现有代码来纠正程序执行过程的行为技术。代码检测可以应用于源代码和编译后的二进制代码。当应用于后一种情况时,代码可以在程序执行前静态插入,也可以在程序执行时动态应用。代码检测是理解和修改程序运行行为的强大机制。它广泛应用于各种领域,包括软件调试、性能评估、软件可视化、软件访问控制、分布式计算等。代码插入是一种在程序中插入额外代码以获取程序操作信息的技术。它可以在软件执行的四个阶段中执行:源代码阶段、编译阶段、链接阶段和运行阶段。前三个阶段发生在程序运行之前,我们称之为“静态插件”;当程序运行时,最后一个阶段称为“动态插件”。代码检测技术使程序在运行时获得行为信息成为可能,并为调试和测试人员提供了快速有效的方法来理解程序。
因为系统调用信息能够在一定程度上反映程序的运行,所以系统调用信息可以用来分析程序任务之间的关系。

2.1.1。静态代码插件

静态代码插件是在代码运行之前实现的代码级插件。目前,静态代码检测技术主要针对源代码检测和二进制代码检测。
1)源代码插入技术
顾名思义,源代码插入技术主要是指将代码插入源代码。它主要包括两种形式的插件。一种是将代码插入源代码,然后编译并链接它以生成目标代码。需要为程序插件开发一个特殊的词汇和语法分析器。另一种形式是在编译程序时通过编译器插入程序代码,而不修改源代码,这样更有效。
2)请求解析器
请求解析器负责从交叉事件日志中提取独立的请求。通过确定哪些事件涉及特定的请求,解析器建立对请求的描述,以获得每个阶段中事件的控制流和资源使用。解析器认为它依赖于事件模式来描述特定应用程序的事件关系。例如,如果在事件模式中描述了发生在同一线程上并且属于同一请求的事件序列,则这些事件将通过指定线程标识来关联。线程可以用相同的事件序列标记任意数量的不同请求。
3)建模
喜鹊使用因果注释为每个请求生成标准化版本。然后通过聚类算法对规范化请求进行分类,主要考虑两个事件的顺序和资源消耗。

2.2.5。复杂系统层次自动推理的任务模型

这种方法是清华大学高崇南等人提出的一种无需人工帮助自动推理系统层次的方法,实现了推理工具头皮(ScalpeF)。该方法使用R2的插件技术,在系统运行过程中透明地获取应用层功能和系统功能的调用信息,并以此为轨迹从下到上推断系统层次。……
……
第三章算法分析和形式描述...................22
3.1。推理规则与分析..............................22
3.2。轨迹分析算法...................23
3.3.1。算法描述.............................24
3.3.2。算法复杂性分析……28
3.3。任务逻辑关系的描述...................29
3.4。本章总结.............................30
第四章结果验证.............................................31
4.1。Windows系统调用机制...................31
4.2。自动调试软件实现方法.........32
4.3。轨迹获取和分析................................35
4.3.1。跟踪采集................................35
4.3.2。痕迹分析................................38
4.3.3。任务逻辑描述...................39
4.4。本章总结............................41

总结与展望

随着软件系统在科学技术飞速发展的时代的广泛应用,软件分析已经成为一个热门的研究课题。软件结构和逻辑的研究有助于人们对软件进行二次开发、优化或性能分析。分析软件结构有许多方法。考虑到软件运行时用户状态和内核状态之间的相互作用,提出使用系统调用跟踪来分析软件任务之间的逻辑关系。

1。研究工作综述

本文主要研究基于系统调用轨迹的软件任务逻辑关系。软件运行过程中的系统调用信息是利用代码插入技术动态获取的。基于该信息,提取任务的原子操作和任务的逻辑层次。实验验证了本文提出的算法,表明该算法能够准确地表示软件任务的逻辑关系,并利用计算树逻辑在Kripke迁移系统上描述了任务状态的转换。
本文的主要工作如下:

1.1概述了国内外痕量研究的现状,分析比较了几种痕量分析方法,介绍了痕量分析的应用领域;

介绍了获取跟踪代码插入技术的方法,并详细介绍了动态代码插入技术。
提出了跟踪分析的规则,并详细描述了分析跟踪数据和提取任务层次结构的算法。然后,提出用计算树逻辑描述克里普克迁移系统中文件传输协议下载文件的任务状态迁移。
介绍了自动调试的实现原理和视窗系统调用机制的原理。然后以FTP客户端下载服务器文件为例,用自动调试(Auto Debug)获取软件系统调用的踪迹作为分析任务模型的基础数据。最后,利用跟踪分析算法和任务层次提取算法对获取的基础数据进行分析。