什么是程序分析

什么是程序分析,第1张

程序分析

程序分析,是指以整个生产过程为研究对象,研究分析完整的工艺程序,从第一个工作地到最后一个工作地,是否存在多余、重复、不合理的作业,作业顺序是否合理,搬运是否太多,等待是否太长等现象,并制定改进方案的一种分析技术。[1]对计算机程序行为进行自动分析的过程,主要包括静态分析和动态分析两种策略。

中文名

程序分析

外文名

Program Analysis

拼音

chéng xùfēn xī

注音

ㄔㄥˊ ㄒㄩˋㄈㄣ ㄒㄧ

简介

程序分析主要应用在程序优化、程序正确性验证等方面。相关技术包括类型系统、抽象解释、程序验证和模型检查等等。

程序分析是以某种语言书写的程序为对象,对其内部的运作流程进行分析。程序分析的目的主要有三点:一是通过程序内部各个模块之间的调用关系,整体上把握程序的运行流程,从而更好地理解程序,从中汲取有价值的内容。二是以系统优化为目的,通过对程序中关键函数的跟踪或者运行时信息的统计,找到系统性能的瓶颈,从而采取进一步行动对程序进行优化。最后一点,程序分析也有可能用于系统测试和程序调试中。当系统跟踪起来比较复杂,而某个BUG又比较难找时,可以通过一些特殊的数据构造一个测试用例,然后将分析到的函数调用关系和运行时实际的函数调用关系进行对比,从而找出错误代码的位置。

概念

程序分析是对产品生产过程的工序状态进行记录、分析和改善的必要有效的IE手法,它是把工艺过程中的物流过程及人的工作流程以符号形式进行记录、设计的方法,通过它可以反映工序整体的状态,从而有效地掌握现有流程的问题点,并研究制定改善对策,以提高现有流程效率。

这里特别强调的是程序分析的目的性,任何工作开始之前最为重要的是要抱有鲜明的目的,才能在工作中明确方向达到目标。因此我们要明确IE程序分析的目的是消除产品生产过程中的全部浪费与不合理,从而提高效率。所以加工、检查、停滞、搬运任何工序并不因为其存在而合理,衡量的标准是创造价值的合理,否则是浪费。由此看来除加工以外的任何过程都有浪费的嫌疑。掌握全部生产过程包括工艺过程、检验过程、运输过程的实际状态发现并去除过程浪费与不合理,是程序分析的主要目的和作用。

目的

程序分析的目的有如下几点:

1、准确掌握工艺过程的整体状态

工艺流程的顺序; 明确工序的总体关系; 各工序的作业时间确认; 发现总体工序不平衡的状态。  2、发现工序问题点

发现并改进产生浪费的工序; 发现工时消耗较多的工序,重排简化此工序; 减少停滞及闲余工序; 合并一些过于细分或重复的工作。

软件破解中静态分析与动态分析区别为:对象不同、代码覆盖率不同、检测不同。

一、对象不同

1、静态分析:静态分析是对程序文件(非运行状态)行跟踪。

2、动态分析:动态分析是对运行着的程序进行跟踪。

二、代码覆盖率不同

1、静态分析:静态分析有完整的代码覆盖率。无论一个代码块或另一个代码块在执行时获得控制的频率,静态分析都会检查整个代码库。

2、动态分析:动态分析不能保证完整的代码覆盖率。需要向程序中馈入足够的数据以获得更好的结果并获得尽可能多的代码覆盖率。

三、检测不同

1、静态分析:静态分析不利于检测内存泄漏和与并发相关的错误。

2、动态分析:动态分析可以检测复杂的内存处理错误,例如超出数组范围的索引编制和内存泄漏。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11794912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存