当前位置:文档之家› 动态程序分析方法与工具-四川大学

动态程序分析方法与工具-四川大学

动态程序分析方法与工具-四川大学
动态程序分析方法与工具-四川大学

动态程序分析方法与工具

目录

动态程序分析方法与工具 (1)

1. 前言 (2)

1.1 研究背景 (2)

1.2 基本概念 (3)

1.3 研究价值和意义 (4)

1.4 研究路线 (4)

2. 研究方法 (4)

2.1 检索方案 (4)

2.2 系统文献综述法 (6)

2.3 文献计量法 (7)

3. 文献计量分析 (9)

3.1 年限分析 (9)

3.2 期刊分布 (9)

3.3 载文比分析 (11)

3.4 期刊类型分布 (11)

3.5 作者分析 (12)

3.6 关键词分析 (13)

4. 动态程序分析 (15)

4.1 动态程序分析方法 (15)

4.2 动态程序分析工具 (26)

4.3 动态程序分析在软件测试中的应用 (27)

5. 未来研究展望 (27)

5.1 错误定位新理论和新技术的引入与集成 (27)

5.2 程序算法检测新的发展形态 (27)

5.3 软件运行平台的新发展 (27)

6. 结束语 (27)

参考文献 (28)

摘要:

关键字:程序分析、动态程序分析、文献计量方法

1.前言

1.1研究背景

软件是一种十分特殊的人工制品:它是人类“智力活动”的产物,是对客观事物的虚拟反应,是知识的固化和凝练[1]。迄今为止,软件已有了50多年发展历史,但对于一个给定的软件,我们目前还不能完全了解它的特性。软件分析就是以软件特性为关注点的研究领域。经过这么多年的发展,目前软件生命周期中的许多活动(分析,设计,实现,测试,部署,维护等)都离不开分析技术。尽管软件分析的能力有限,但它仍然是软件领域十分有用的技术。

下面将谈到两个概念,“验证”和“确认”。“验证”是要回答“软件制品是否与软件需求规约一致”的问题,而“确认”则是回答“软件的特性是否符合用户需求”。在英文中,“验证”是“Do the thing right”,而用“Do the right thing”来解释“确认”。验证就是所谓的软件分析技术,而确认则是软件测试技术。软件分析包括对文档(需求规约、设计文档、代码注释等)的分析、对运行程序的分析,等等。而程序分析中,根据“是否需要运行程序”为准则,可以将程序分析技术划分为静态分析技术和动态分析技术两大类,本文主要尝试对动态程序分析涉及的主要方法和工具进行总结和归类,并讨论动态程序分析技术在软件测试中的应用和发展。

本文总共分为6部分,第一部分是前言,主要对研究背景、涉及到的一些基本概念、研究的价值和意义、研究路线等进行了说明。第二部分主要阐述了本文所涉及到的两种研究方法:文献计量方法和系统文献综述方法。第三部分是根据文献计量方法的策略,对检索到的文献进行具体的分析。第四部分是本文的核心内容,主要总结和归纳现有的动态程序分析技术方法和工具,并讨论了动态程序分析方法和工具在软件测试中的应用。第五部分结合本文所有信息对动态程序分析技术的发展趋势进行展望。最后一部分是结束语,归纳总结了本文的研究思想

和路线。

1.2基本概念

1)软件分析

软件分析是对软件进行人工或者自动分析,以验证、确认或发现软件性质(或规约、约束)的过程或活动。包括对文档(需求规约、设计文档、代码注释等)的分析、对运行程序的分析,等等。[1]

2)程序分析

程序分析是指对计算机程序行为进行自动分析的过程,主要包括静态分析和动态分析两种策略,它是以某种语言书写的程序为对象,对其内部的运作流程进行分析。

3)动态程序分析

动态程序分析是通过运行具体程序并获取程序的输出或者内部状态等信息来验证或发现软件性质的过程。

4)静态程序分析

静态程序分析是指在不运行软件前提下进行的分析过程。

5)软件测试:

软件测试是一组活动,执行这组活动的目的是发现程序中可能存在的潜在错误,验证在指定条件下程序运行的情况,方法则是给出指定的输入和期望的结果,观察实际的运行结果和期望结果之间的差异,从而对软件的执行正确程度做出判断。(IEEE标准610.12-1990中,对软件测试是这样定义的:软件测试是在指定的条件下操作测试系统或组件,观察和记录结果,并对测试系统或组件的不同方面做出评估的过程。)

6)文献计量方法

文献计量方法是一种以各种文献外部特征为研究对象的量化分析方法,主要用于科学文献的研究,能够揭示各门学科的发展水平。

7)系统文献综述方法

系统文献综述(systematic literature review),简称系统综述,是主要在医学

领域和社会学研究领域针对某一个研究性问题开展的基于文献的系统化综述方法,并于2004年引入软件工程领域.系统文献综述的过程包含3个主要的阶段: 制定综述方案、开展综述、形成综述报告。

1.3研究价值和意义

为了保证软件开发的质量,业界在软件测试和软件分析阶段投入了大量的人力物力,而动态程序分析在软件分析中扮演着极其重要的角色。本文对动态程序方法和工具进行了分析与总结,并讨论了其在软件测试当中的应用,不仅丰富了自己在该领域中的知识,增长了见闻,同时有利于人们在分析软件特定的质量属性时,选取合适的技术和工具。

1.4研究路线

首先提出该领域的几个需要最终回答的问题,然后确定关键字以及检索策略,接着对检索得到的论文进行筛选,然后对筛选过后剩下的论文进行数据提取和分析,最后形成报告。同时,我们借助EndNote文献管理工具对我们检索到的文献进行管理,方便我们阅读和使用。

2.研究方法

2.1 检索方案

2.1.1 研究问题

通过该系统评价最终所要回答的问题,同时可能需要进一步明确所感兴趣的研究方法(intervention)和研究结果(outcome)等其他限定条件.

1)现有程序分析的方法和工具有哪些?

2)动态程序分析的方法和工具有哪些?

3)动态程序分析方法在软件测试中的应用有哪些?

4)动态程序分析中有哪些未解决的问题?

2.1.2 搜索策略

根据所要研究的问题和关键词确定查询语句,并根据查询结果,确定是否需要进行二级查询(比如引入新的关键词或者添加新的论文集和期刊)。

确定关键词:Program Analysis , Software Analysis, Dynamic Program Analysis, Software Testing.

逻辑表达式:

(dynamic program analysis) AND (method OR tool);

(software analysis OR program analysis) AND (method OR tool) ;

(software analysis OR program analysis) AND (software testing);

dynamic program analysis;

(software analysis) OR (program analysis);

运用的搜索引擎为Google, Google Scholar, IEEE Xplore;另外在四川大学图书馆IEEE Digital Library,CNKI数据库,万方数据库,学位论文库、期刊EI和SCI、国际会议论文集中进行检索,检索年限为2004年(包括2004)至2013年。

文献资料收集来源一般包括了图书,期刊,报纸以及网络资源。由于图书的出版周期较长并不能有效反应该学科领域的研究进展情况;网络资源丰富而且反应速度最快,但信息噪音最强;报纸资源的研究深度尚浅。因此,本文选择以国内外期刊,会议等作为文献资料的来源。

通过检索,经过去重操作,得到相关论文1066篇。

2.1.3 筛选方案

1)长文优于短文。对于短文或者Poster,通过DBLP查询作者是否有相关的工作

发表在其他地方,若有,则引用相对比较完整的论文,若没有,则将相应的短文或者Poster排除掉;

2)学位论文只要博士论文;

3)期刊只搜EI和SCI论文;

4)国际会议最好是国外国际会议,或主要成员是外国学者;

5)若论文的目的是提出一种形式化验证技术,则将该论文包含进来;若论文的目

的不是提出一种形式化验证技术,而是基于已有的一种形式化验证技术提出了新的软件形式化验证技术和方法,则也将该论文包含进来;

6)虽然论文中没有涉及到具体的形式化验证技术,但提出了关于形式化验证技

术新的方法论,同样也将这类论文包含进来;

7)同时对于内容重复的文章:同一作者类似的文章发表在多个地方或者一篇综

述很好地概括了一系列的相关研究,只选择了那些我们认为更具代表性的文章。

通过几轮筛选,最终确定下来的文献有108篇。

2.1.4 数据提取和分析

对于检索到的有关程序分析的论文,我们对入选的论文根据提出的问题进行分类、分析和总结。阅读过程中重点提取技术报告数据、专利、软件工具(网站、软件、描述性语言),应用案例、方法等。

2.1.5 完成报告

在上述工作的基础上完成最终的报告.

2.2 系统文献综述法

系统文献综述(systematic literature review),简称系统综述,是主要在医学领域和社会学研究领域针对某一个研究性问题开展的基于文献的系统化综述方法,并于2004年引入软件工程领域.系统文献综述的过程包含3个主要的阶段:

?制定综述方案

主要进行综述需求分析,明确综述的目的,设计开展综述的规程,以指导后期的文献收集等工作;

?开展综述

根据综述方案预定的目标,按照综述步骤进行文献收集,主要工作包括确定主要的文献来源、确定收录标准、实现文献质量评价、开展数据抽取与综合;

?形成综述报告

对于综述进行总结.

图-系统文献综述法框架图

如上图,系统文献综述法细致划分可划分为四部分:计划、选择、提取和结果,最后形成系统性的报告。

2.3 文献计量法

文献计量法是一种以各种文献外部特征为研究对象的量化分析方法,以文献的量为研究对象,以文献文本为基本特征。它是借助文献的各种特征数量,采用数学与统计学方法来描述、评价和预测科学技术的现状与发展趋势的图书情报学

分支学科[2]。下面通过几个方面对它进行介绍:

1)性质上:文献计量分析法的特征在于其输出量必定是量化信息内容,是一种

基于数学和统计学的定量分析方法。

2)方法论基础上:文献计量法是以数学和统计学方法论为基础,在其应用过程

中再利用推理和比较的方法对文献的分布趋势进行预测。

3)研究对象上:文献计量法研究的对象主要是文献的外部形式特征,只适用于

有实体形态的科学文献,比如具有著者、引文、词汇等文献特征的部分。4)应用领域上:文献计量法是图书馆学、情报学的特殊研究方法,主要用于科

学文献的研究,对各门学科都使用。在发展的几十年中,文献计量法的应用领域不断拓宽,其内容包括作者分布规律、文献分散增长规律、引文分析等。

通过引文分析,了解学科发展动态;在学科核心期刊测定中的应用,通过统计分析确定核心期刊的范围;在图书情报系统管理领域等情报探索系统研究中也得到广泛应用。

5)研究的侧重点:它侧重于分析文献形式特征的“量”,它从定量的角度分析

文献规律,知识间接反映内容的相关关系。

研究步骤:确定研究范围,抽取样本,界定分析单元,对分析单元做量化统计,最后根据统计结果建立反映其趋势变化的规律性结论。

图-文献计量法研究步骤

3. 文献计量分析

为了观察整个程序分析领域的研究情况,于是此文献计量分析的样本数据不仅包括了程序分析技术中的动态分析,同时也囊括了静态程序分析相关文献。

3.1 年限分析

对采集到的论文的年份,数量特征进行统计分析,可以在一定程度上根据文献的增长情况得到近10年间关于“程序分析技术”研究的总体研究水平和发展速度,如图1所示:

图1 程序分析研究论文数量变化

从图1中可以看出自2004年以来关于程序分析技术的研究文献数量大致呈现上升趋势,2004至2007关于此项研究的文献相对比较少,数量波动不是很大,2008年数量相比2007年产生了骤变,2009至2012文献数量维持着相对较高的水平,并且在2011年达到最高值,而2013数量相对减少。

3.2 期刊分布

论文的期刊分布和载文比可以在一定程度上反映出一段时期内该领域研究

的成熟度。因此,对程序分析研究论文的期刊分布和载文比进行统计分析可知,自2004年以来,共有317种期刊刊载了相关的论文刊载程序分析研究论文的期刊数量呈现逐年增长的趋势,刊载种数的增加,说明研究涉及的领域越来越多,分布更加广泛。

图2 程序分析研究论文期刊分布

从图2可以看出,刊载程序分析研究论文的期刊种数从2004年到2010年逐年增加,2011有所下降,而2012年,急剧增加,2013年又回到平稳状态。

3.3 载文比分析

图3 程序分析研究论文载文比情况

从载文比(该时段论文总数/该时段的期刊总数)来看,除了2011年载文比达到3.5以外,其他年度载文比斗小于3,特别在2012年,达到最低0.66,这表明程序分析研究论文还没有向一些特定的期刊集中,研究文献在期刊分布上还比较分散,该研究的发展还不够成熟。

3.4 期刊类型分布

对刊载论文的期刊类型分布进行分析,可以了解到软件分析研究的主要集中在哪些类型的期刊,从另外一个方面也能看到该研究领域发展到了哪一个程度。我们对搜集到的740篇论文进行期刊类型分布统计,如下图。

图4 程序分析研究论文刊载期刊类型分布情况

根据图4可以看出,程序分析研究论文主要集中在Conference Proceedings

和Journal Article上,其次是在Generic和Thesis上,Conference Paper, Patent 和Web Page上相对较少。

3.5 作者分析

作者分布情况可以体现在该领域研究的广度以及深度。作者数越多,说明该研究领域越广,某一个作者出现的频次越高,说明该作者在这个领域研究得比较深入。通过对搜集到的论文进行作者分布统计(包含第一作者,第二作者,第三作者),共有2074位作者参与该领域的研究,对出现频次比较高的作者进行统计,列出了前18位作者,如下表。

表1 软件分析研究论文作者分布情况表(前23位)

位次作者频次

1 肖庆 4

2 Amp 3

3 徐宝文 2

4 张路 2

5 Alzamil, Z.A 2

6 Wei, Hua 2

7 Bruda, S.D. 2

8 De Halleus, P. 2

9 Farn, Wang 2

10 Ganai, M.K. 2

11 Jianguo, Chen 2

12 Jie, Zhang 2

13 Kroening, D. 2

14 Li, J.J. 2

15 Ling Dong 2

16 Nail, R 2

17 Tillmann, N. 2

18 Zhiping, Shi 2

19 梅宏 2

20 Landwehr, J. 2

21 赵建华 2

22 ValeriyVyatkin 2

23 姜淑娟 2

3.6 关键词分析

词频分析法师利用能够揭示或表达文献核心内容的关键词或主题词在某一研究领域文献中出现的频次高低来确定该领域研究热点和发展动向的文献计量方法。为了更客观地对软件分析研究领域的研究热点进行分析,我们在搜集到的740篇论文中进行关键词统计分析。我们共获得6187个关键词,对这些关键词进行频度统计,按照频次高低排序所得的前31位高频词的统计结果如表2所示。

表2 软件分析研究论文词频统计情况(前31位)

位次关键词词频

1 Formal verification 26

2 Software testing Program testing 196

3 Program testing 196

4 Model checking 120

5 Software engineering 88

6 Software 87

7 Formal specification 71

8 System testing 68

9 Computer science 67

10 Software quality 64

11 Program diagnostics 63

12 Program verification 62

13 Analytical models 52

14 Computational modeling 49

15 testing 49

16 Application software 49

17 Java 47

18 Software systems 46

19 Programming 45

20 Program analysis 43

21 Software reliability 40

22 Educational institutions 38

23 Automata 37

24 Software tools 36

25 Automatic testing 34

26 Unified modeling language 34

27 Safety 30

28 Embedded systems 30

29 Algorithm design and analysis 30

30 Program debugging 29

31 Performance analysis 29

统计结果显示,程序分析研究在形式化验证,软件测试,程序测试,模型检测,软件工程等方面研究比较突出。软件分析领域的研究主要集中在软件模型,软件测试,程序分析上。

4.动态程序分析

4.1 动态程序分析方法

4.1.1 错误定位

为了保证软件开发的质量,工业界在软件测试阶段投入了大量的人力物力,其中最耗时代价最昂贵的任务之一就是调试过程,这是指对程序错误进行定位和修正的过程,而错误定位又是软件调试过程中最耗时和困难的一步。所以,错误定位过程中的任何改进都可以在一定程度上降低调试成本。经过多年的研究发展,在软件领域出现了很多检测程序缺陷的技术,本文主要讨论的是基于实际执行的动态定位技术。该技术通过对源程序、测试结果以及各种程序行为特征信息的计算分析,给出造成故障的软件缺陷在源代码中的可能位置,辅助开发人员进行程序错误的定位和修改。经过研究者们的探索,按照使用和操纵的程序执行信息的不同,目前的错误定位方法该技术可以分为3类:基于行为特征对比的方法,基于程序状态修改的方法和基于程序依赖关系的方法[3]。

4.1.1.1 基于行为特征对比的方法

程序行为特征同时也被称作程序光谱,是程序执行的统计信息。经过Reps,Harrold等人的实验研究,程序出现异常的行为特征不一定表示代码存在缺陷,但错误的程序运行往往会表现出异常的行为特征。基于行为特征对比的方法假设失败的测试执行会表现出异常的程序行为特征,那么成功执行和失败执行中的行为特征的差异就可以用于指导错误定位。其工作流程如下:首先,根据收集信息类型的需要,对源代码进行插桩并执行程序,收集执行信息。其次,判断每个测试用例的执行结果。接着,解析执行信息,得到执行行为特征。然后,根据给定的模型,建模程序实体的怀疑度(可能出错的程度)。最后,以程序实体排名的方式给出定位结果,将各个程序实体按照怀疑度大小从大到小排列,供开发人员查看[3]。目前,按照使用的行为特征信息的种类和策略,大致可以分为5类:基于语句或基本块,基于谓词,基于方法,基于定义使用对或信息流以及行为特

征信息精炼的方法。

1)基于语句或基本块

2003年,Renieres和Reiss提出NNQ(Nearest Neighbor Queries)方法,假设存在一个失败的执行和很多成功的执行,然后根据距离准则挑选出一个程序光谱和失败运行最相似的成功运行(即失败执行的最近邻居),进而比较它们光谱的不同之处以分离软件错误。与NNQ不同,Jones 和Harrold 提出的Tarantula法,认为只要是主要被失败用例执行的程序实体就值得被怀疑,同时,它也能容忍出错的程序实体偶尔被成功用例执行。他们使用常用的信息来辅助错误定位,包括每个测试用例的执行结果,程序实体(语句,分支或函数等)被每个测试用例覆盖的信息以及程序的源代码。对于程序实体e,它的怀疑度计算公式为:

其中,failed(e)和passed(e)分别表示失败用例和通过用例执行程序实体e的个数,||和|表示测试组件中所有失败用例和通过用例的个数。e的怀疑度取值范围从0到1,数值越大,出错的可能性越大。开发人员可以按照怀疑度从大到小的顺序审查源代码。

不同于NNQ和Tarantula这些基于直观或启发式的计算方法,Wong等人提出了一个定义良好的统计方法Croaatab. 它利用覆盖信息和测试结果为每条可执行语句w构建一个交叉表,进而计算卡方统计量和列联相关系数M(w)。语句w 的怀疑度定义如下:

然后,Hao等人提出应该考虑测试用例的相似性,并消除相似的测试用例对于定位结果的影响,于是提出了一种名为SAFL(Similarity Aware Fault Localization)

的方法。最后,Naish等人总结了30多种基于语句的定位方法,首先构造了一段名为ITE2(If-Then-Else-2)的程序,然后在这个程序中讨论各种情形。这个程序可以用于刻画错误定位中的两种重要场景:存在“噪声”和信号“微弱”。基于在ITE2代码模型上的分析,他们提出了两种Optimal metric, 语句s的怀疑度定义如下:

Yingqi等人结合程序切片和贝叶斯方法来实现错误定位[4]。首先,我们根据切片的标准执行动态切片,然后根据贝叶斯理论计算后验概率。最后,我们把后验概率作为语句的怀疑程度按照从大到小的顺序进行排列。此方法被应用于6个开源项目,通过实验,此方法在一定程度上可以提高错误定位的精确度。

统计错误定位技术通过执行大量的测试用例来预测程序错误的位置,相关研究表明,通过测试用例数量和失败测试用例数量之间失衡的程度可能会降低这种技术的有效性,然而,在实践中失败的测试用例往往小于通过的测试用例。于是Yichao等人提出了一种策略[5],通过克隆失败测试用例适当的数量以达到通过测试用例的数量,最终产生平衡的测试组件。分析表明,通过开展克隆两个具有代表性错误定位技术的有效性可以在一定条件下得到改善。

随着研究的发展,很多研究者开始探究多故障检测技术。Cheng,Gong等人提出了一种有效的机制用于检测多个故障[6],当一个故障被检测到时,我们用它来解释我们观察到的故障,同时更新指标(在检测可疑序列时的一种准则),以判断在程序中是否存留其他故障。实验证明这个方法不仅提高了单故障定位器的效率,同时在很大程度上避免了放弃单故障检测器而开发多故障检测器时的无效的工作与努力。

针对动态程序切片,Hofer等人提出了一种技术[7],可以减少包含在动态切片中的语句数目,这种技术是基于约束的计算,并且允许从不太可能是错误的根本原因的切片中移除语句。实验结果表明,在有关切片中得到的片段的数量,平均降幅超过28%。

由于测试覆盖信息不能识别那些程序实体,而这些实体的执行影响了输出,于是便削弱了实体之间的相关性。Yan,Lei等人为解决这个问题[8],提出了一项新的统计故障定位技术。该统计方法是利用一组测试运行的程序切片来捕捉在输出结果中程序实体执行的影响,并且利用统计分析来衡量程序实体故障的可疑度。此外,他们还提出了一种近似后向动态切片的新切片方法,以此来平衡切片的尺寸和精度,并将此切片方法应用于统计方法。实验表明,在两个标准的基准测试下,我们的统计方法明显优于其他8个具有代表性的故障定位方法。

2)基于谓词

Liblit和他的同事提出了CBI(Cooperative Bug Isolation)技术,用于定位已部署软件中的错误。基本思想是搜集用户在使用软件过程中产生的执行信息,进而通过分析这些数据将软件缺陷分离出来。然后,在搜集这些执行信息的同时,会对用户使用的软件性能有一定的影响,为了解决这个问题,Liblite等人通过在源代码上的变换,使用稀疏的随机抽样,较好地控制了客户端的性能并返回执行时的摘要信息。尽管CBI技术能够从广泛的系统中识别出一些错误,但它只考虑了那些在失败执行中取值为真的谓词,而对于一个总是取值为真的谓词,CMI技术就丧失了它的判断能力。Liu等人对谓词在成功执行和失败执行中的取值模式进行建模,然后基于统计学中假设检验的原理,量化每个谓词的错误相关性,建立了SOBER方法。一个谓词P的取值偏差在成功和失败执行中的差异越大,则谓词P出错的可能性越大。令Y表示谓词P的取值偏差在所有失败执行中的均值。SOBER使用如下公式计算P的怀疑度:

其中,为谓词P在所有成功执行中谓词的取值偏差的方差,Z是Y的标准化随机变量。开发者可以根据谓词的怀疑度的大小审查源代码,发现错误的位置。

然后,Zhang等人研究了短路求值和求值序列对于错误定位技术的影响。他提出了一种基于谓词的定位方法的改进策略:DES(Debugging through Evaluation Sequences)策略,将每个谓词排名最高的取值序列作为该谓词的排名,实验表明,DES可以提高基于谓词的错误定位技术的有效性而同时仅产生较小的额外性

能开销。

Zunwen,You等人提出了一项新的统计方法[9],该方法是通过探测两个在执行过程中顺序连接的谓词的统计行为。如果谓词被视为一个图的顶点,,那么这个图的边则表示程序在执行过程轨迹中两个顺序连接谓词的过渡。每个边的标签代表每个转变的频率。对于每条边,我们应用假设检验来评价在通过运行边缘评估偏倚和失败运行边缘评估偏倚之间的差异。边缘是根据从假设检验中得到的故障相关程度来排列的。实验证明,我们提出的基于谓词的故障定位技术优于其他适当运用统计的故障定位技术。

3)基于方法

对于面向对象的语言,Dallmeier等人提出了基于方法调用序列的Ample技术,认为只出现在通过执行或失败执行中的方法调用子序列都应该被怀疑。与在通过或失败执行中出现的子序列相比,这些子序列被分配较大的怀疑度值,遗失或增添的子序列都值得怀疑,因为它们都可能引发程序故障。

与Ample技术不同,Yilmaz等人提出使用时间光谱作为程序执行的抽象。时间光谱是指程序实体(方法,函数等)运行的时间特征信息,通常用于程序性能的评价和优化。他们提出一种叫做TWT(Time Will Tell)的方法,首先收集成功执行和失败执行的时间光谱,接着基于成功执行的时间光谱建立程序行为模型,然后使用这个模型来识别失败执行和成功执行的偏离程度。

SFL(Spectrum-based Fault Localization)是一种轻量级的自动诊断技术,然而当它应用于面向对象程序时,它的诊断精确度由于可疑语句被分布到不同的类中而受到限制,于是,Jingxuan,Tu等人提出了一种方法,利用方法调用异常来提高SFL技术在面向对象程序中故障定位的有效性。其过程如下:首先,基于在通过和失败运行中方法调用序列的差异来计算每个类的可疑度;然后,利用每个类的可疑信息细化SFL可疑度序列,以提高面向对象软件故障定位的效率。实验表明,该方法能够提高SFL技术的有效性。

4)基于定义使用对、分支或信息流

Santelices等人认为有些缺陷最好使用语句覆盖信息来定位,而有些最好使用分支或者定义使用对的覆盖信息。首先需要计算一个程序实体的怀疑度,然后对于分支或者定义使用对,根据3条规则,将每条语句的可疑度定义为和它关联的

分支或定义使用对可疑度的最高值。然后采用max-SBD,avg-SBD和avg-BD 3种策略来获得一个语句的可疑度得分。即是说一个语句的可疑度得分可以是和它关联的3种程序实体怀疑度得最大值,平均值或只是定义为和它关联的分支和定义使用对怀疑度得平均值。实验表明,综合使用多种覆盖类型的信息,确实可以提高错误定位技术的有效性。

与Santelices等人提出的使用单一模型建模程序实体不同,Yu等人进一步提出一个使用多个模型来捕捉不同类型的错误的方法LOUPE。假设对于任一类型的错误,存在一种适合模型,它能够较好识别出错误语句,由于错误类型事先未知,LOUPE方法建立了多个模型来捕捉语句的异常行为,并试图选出相应的适合模型。

动态信息流分析师一种更加重量级的方法,它考虑5种类型的依赖关系:动态直接控制依赖,动态直接数据依赖和3种过程间的依赖关系。由于动态信息流分析能够识别运行时对象之间的信息流,所以也可以用来建模程序元素之间复杂的交互作用,于是Masri提出了一种基于动态信息流分析的错误定位方法。对于信息流f,怀疑度计算公式如下:

然后,每条可执行语句被赋予流经它的怀疑度最大的信息流的值。并且,值得怀疑的信息流的源语句应该先于这条信息流上的其他语句被检查。

5)行为特征信息的精炼

由于受到很多因素的影响,在实践中,基于行为特征对比的方法的有效性仍然会受到限制。Masri等人通过实验发现了这类方法有效性下降的四个场景:错误条件满足,但程序故障并未出现(作者成为巧合正确性);错误语句被执行,但程序故障并未出现(作者称为弱巧合正确性);程序故障和不止一个的不同类型的程序元素的组合有关;以及很多程序元素不在通过程序中出现,却出现在所

自控原理选择题

1.反馈控制系统又称为(B ) A.开环控制系统 B .闭环控制系统 B.扰动顺馈补尝 D .输入顺馈补偿 2.位置随动系统的主反馈环节是(A ) A .电压负反馈 B .电流负反馈 C .转速负反馈 D .位置负反馈 3.如果典型二阶系统的单位阶跃响应为减幅振荡(又称阻尼振荡),则其阻尼比(C ) Aξ<0 Bξ=0 C0<ξ<1 D ξ≥1 4.G(s)= 1/[(S+1)(S+2)(S+3)(S+4)]环 节的对数相频特性的高频渐近线斜率为(D ) A -20d B B-40dB C-60dB D-80dB 5.某自控系统的开环传递函数G(s)= 1/[(S+1)(S+2)] ,则此系统为( A ) A .稳定系统 B .不稳定系统 C .稳 定边界系统 D .条件稳定系统 6.若一系统的特征方程式为(s+1)2(s -2)2+3=0,则此系统是(C ) A 稳定的 B 临界稳定的 C 不稳定 D .条件稳定的 7.下列性能指标中的(D )为系统的稳态指标。 A.σP B.t s C.N D.e ss 8.下列系统中属于开环控制的为( C) A.自动跟踪雷达 B.数控加工中心 C.普通车床 D.家用空调器 9.RLC 串联电路的系统应为(D)环节。 A 比例 B.惯性 C.积分 D.振荡 10.输出信号与输入信号的相位差随频率变化的关系是(B )。 A.幅频特性 B.相频特性 C.传递函数 D.频率响应函数 1.奈奎斯特图分析闭环控制系统的 (A )A.稳态性能 B.动态性能 C.稳态和动态性能 D.抗扰性能 2.有一线性系统,其输入分别为u 1(t)和u 2(t)时,输出分别为y 1(t)和y 2(t)。 当输入为a 1u 1(t)+a 2u 2(t)时(a 1,a 2为常 数),输出应为(B ) A.a 1y 1(t)+y 2(t) B.a 1y 1(t)+a 2y 2(t) C.a 1y 1(t)-a 2y 2(t) D.y 1(t)+a 2y 2(t) 3.某串联校正装置的传递函数为 G c (S)=K S S T 1T 1+β+(0<β<1),则该装置 是( A ) A.超前校正装置 B.滞后校正装置 C.滞后超前 D.超前滞后校正装置 4.1型系统开环对数幅频渐近特性的 低频段斜率为( B ) A.-40(dB/dec) B.-20(dB/dec) C.0(dB/dec) D.+20(dB/dec) 5.开环传递函数G(s)H(s)=) p s )(p s () z s (K 211+++,其中p 2>z 1>p 1>0,则实轴上的根轨迹(A ) A.(-∞,-p 2],[-z 1,-p 1] B.(- ∞,-p 2] C.[-p 1,+ ∞] D.[-z 1,-p 1] 6.设系统的传递函数为 G(s)=1 s 5s 2512 ++,则系统的阻尼比为 C. 21 7.设单位负反馈控制系统的开环传递函数G o (s)=) a s (s K +,其中K>0,a>0,则闭环控制系统的稳定性与( D ) A.K 值的大小有关 B .a 值的大小有关 C.a 和K 值的有关 D.a 和K 值的无关 8. 在伯德图中反映系统动态特性的是 B. 中频段 9. 设开环系统的频率特性G(j ω)=2 ) j 1(1 ω+,当ω=1rad/s 时,其频率特性幅值G(1)=(D ) A. 1 B. 2 C.21 D. 41 10. 开环传递函数为G(s)H(s)=) 3s (s K 3+,则实轴上的根轨迹为( D )。 A.[-3,∞] B. [0,∞] C. (-∞,-3) D. [-3,0] 1.实验中可以从( D )获取频率特性。A.稳定的线性和非线性系统 B. 不稳定的线性和非线性系统 C.不 稳定的线性系统 D. 稳定的线性系统2.传递函数的概念适用于(D )系统。 A .线性、非线性 B. 线性 非时变 C .非线性定常 D. 线性定常 3.系统的动态性能包括( B )。 A 稳定性平稳性 B.平稳性快速性 C 快速性稳定性 D.稳定性准确性 4. 确定系统根轨迹的充要条件是C A 根轨迹的模方程B.根轨迹的相方程 C 根轨迹增益 D 根轨迹方程的阶次 5 .正弦信号作用于线性系统所产生的频率响应是( A ) A .输出响应的稳态分量 B. 输出响应的暂态分 量 C .输出响应的零输入分量 D. 输出响应的零状态分量 6.系统的传递函数完全决定于系统 的 ( C )。A .输入信号 B.输出信号C.结构和参数D.扰动信号7.控制系统的相位稳定裕量反咉 了系统的 ( B )。A .稳定性 B.稳态性能C.快速性 D.动态性能8.一般来说,系统增加积分环节,系统的稳定性将( B )。 A .变好 B.变坏 C.不变 D.可能9.系统开环对数幅频特性L(ω)中频段主要参数的大小对系统的 ( D )性能无影响。A.动态 B. 稳态 C. 相对稳定性 D. 响应的快速性10.反馈控制系统又称为( B ) A .开环控制系统 B .闭环控制系统 C 扰动顺馈补偿 D 输入顺馈补偿 1.单位斜坡函数f(t)=t 的拉氏变换式F(s)=( D ) A.s B.1 C .S 2 D . 1/S 2 2.单位抛物线输入函数r(t)的数学表达式是r(t)=(D ) A .at 2 B .1/2 Rt 2 C .t 2 3.当二阶系统特征方程的根为具有负实部的复数根时,系统的阻尼比C A ζ<0 B ζ=0 C0<ζ<1 D ζ≥1 4.已知单位反馈控制系统在阶跃函数作用下,稳态误差e ss 为常数,则此系统为B .I 型系统 5.设某环节的传递函数为G(s)=1 21 +s ,当ω=0.5rad /s 时,其频率特性相位移θ(0.5)=(A) A .- 4π B .-6π C .6π D 4 π 6超前校正装置的最大超前相角趋D .90°

测控技术与仪器专业简介

测控技术与仪器专业 业务培养目标: 本专业培养具备精密仪器设计制造以及测量与控制方面基础知识与应用能力,能在国民经济各部门从事测量与控制领域内有关技术、仪器与系统的设计制造、科技开发、应用研究、运行管理等方面的高级工程技术人才。 修业年限:四年 授予学位:工学学士 业务培养要求: 本专业学生主要学习精密仪器的光学、机械与电子学基础理论,测量与控制理论和有关测控仪器的设计方法,受到现代测控技术和仪器应用的训练,具有本专业测控技术及仪器系统的应用及设计开发能力。 专业方向介绍 测控技术及仪器专业是仪器科学与技术和控制科学与技术交叉融合而形成的综合性学科。 设2个专业方向。 方向一:检测技术与自动化装置方向; 方向二:测试计量技术及仪器方向。 方向一以集电子技术、先进控制理论、计算机控制技术、自动检测技术、光电技术以及网络技术于一体为特色,以生产过程的机电装备运行状态及其信息为研究对象。本方向旨在培养基础理论扎实、实践能力强、知识面广,外语综合能力和计算机应用能力较强,人文社会科学综合素质较高,具有开拓创性意识,能够从事工业过程控制理论与装备、计算机辅助测试系统、信息处理与状态识别等领域的研究开发、设计制造和运行管理的复合型高级工程技术人才。 方向二以光—机—电—仪器—计算机技术一体化为特色,以传感器技术、信息获取与处理技术、自动化精密机械以及智能仪器仪表为主要研究对象。本方向旨在培养基础理论扎实、实践能力强、知识面广,外语综合能力和计算机应用能力较强,人文社会科学综合素质较高,具有开拓创性意识,能够从事测控仪器、信息技术以及测试计量技术等方面的研究开发、设计制造和运行管理方面的复合型高级工程技术人才。 业务能力 方向一的毕业生应具有较扎实的自然科学基础,较好的人文和社会科学基础及较强的英语与计算机应用能力以及较强的创新意识;系统地掌握检测技术与自动化装置专业方向的基本理论与技术,主要包括电工电子技术、自动检测技术、工程光学、测控仪器电路、工业过程控制、微机控制技术等基本理论基础;掌握光、机、电、计算机控制相结合的现代测控技术和实验研究技能;具备综合运用专业知识解决生产实际问题的初步能力。 方向二的毕业生应具有较扎实的自然科学基础,较好的人文和社会科学基础以及较强的英语和计算机应用能力、较强的创新意识;系统地掌握本专业所需的基本理论和基础知识,主要包括电子技术、工程光学、精密机械学、传感器技术、控制工程等基础知识;掌握光、机、电、计算机相结合的现代测控技术和实验技能,综合运用专业知识解决生产实际问题的初步能力。

浙江大学845自动控制原理考研真题试卷

紧急通知 本资料由浙江大学控制科学与工程学院16届专业课129分学长,也就是我本人亲自整理编排而成。大家可以叫我学长,年龄比我大的辞职考的可以叫我小弟。资料不同于市面上那些看起来非常诱人实则是粗制烂造的资料,而是以一个考过845自控的过来人的经验,完全从学生的体验出发,做到资料最全,资料最好,资料最精致。全套资料包括葵花宝典一到葵花宝典九共九本资料,每本资料都是我精心编辑整理的,并做了精美的封面,一共650页完美打印发给大家,大家把这650从头到尾肯透了,再做下我推荐的几本资料书(16年有一道15分的大题就是上面的类似题,第三问很多高手都没做出来,注意不是周春晖那本哈),可以说完全没问题了。这是其它卖家不可能做到的。同时赠送845自控全套电子资料。葵花宝典一完全由我本人原创,里面包含了考浙大845自动控制原理的全部问题,比如考多少分比较保险,怎么复习,有哪些好的资料书,最近几年考题变化及应对策略,浙大常考题型,招生名额,复试资料,导师联系,公共课复习用书及方法以及845近年命题风格分析等一系列问题,全是我的心得和经验,方法,技巧等,说句心里话,我自己都觉得这些资料非常宝贵,能帮助学弟学妹们少走很多弯路。 注意:前面是一些关于我的故事,有些地方可能对你有用,如果不感兴趣,可以直接拉到后面去看,资料清单和图片都在后面。 学长自我介绍 学长姓邓,名某某,男,本科于14年毕业于四川大学电气信息学院自动化专业,考浙大控制考了3次,14年大三时第一次考浙大控制总分没过线。当时我们学校有三个同学征战浙大控制科学与工程,结果全军覆没,只有我一人过了300分,由此可见考浙大控制还是很有难度的,其中一个难点就是专业课的信息和专业课的命题走向的获取,当时我们都不是很清楚,蒙着头自己学,去图书馆借了很多自动控制原理的资料书来看,我自我感觉学得还不错,当时我一个同学考电子科大的自动化,经常跑来问我自控的问题,我基本都能给他解答出来,他说我好牛逼,觉对没有问题,然而最后的结果是他考电子科大自动控制原理137,而我只考了96分。后面我分析了一下,为什么会出现这样的情况?最重要的就是我们对浙大的出题风格不是很了解,不知道它的命题方向和爱考的地方,方向都错了,怎么可能得高分?虽然我把11年以前的真题都做了,但是浙大12年以后的命题风格和以前有所不同,所以还是无济于事。因此即使你的自控基础知识扎实,也未必能够得到高分,这里面有很多方法和技巧,都是我从后面的考试中慢慢总结出来的。 由于不甘心就这么与浙大失之交臂,所以决定二战,但是又不想向家里要钱了,因为学长家在贵州农村,经济条件不是很好。于是我选择平时晚上去给别人做家教,周末去给培训机构上课。这样的好处是我有大把的白天用来复习,只是晚上出去干干活。这个事就说到这里,不是主题。15年专业课考了113,一个中等的分数,本来可以考130,但是为什么没有考到,这些原因我都在葵花宝典一中给大家分析了,希望大家能我的身上汲取经验,别步我的后尘。但是15年死在英语不过线上,差3分,这是我怎么也没有想到的,学长英语虽然不能说特别好,但是最起码四六级大一就过了,高考英语还是我们小县城的单科第一名(山中无老虎),第一年也考了65分。这是我怎么也没有想到的,所以有的时候感觉

2015年四川大学考博《英语》真题及详解

2015年四川大学考博《英语》真题 (总分:100.00,做题时间:180分钟) 一、ⅠReadingComprehension 二、Passage1 Speechissofamiliarafeatureofdailylifethatwerarelypausetodefineit.Itseemsasnatural tomanaswalkingandonlylesssothanbreathing.Yetitneedsbutamoment'sreflectiontoconvinceus thatthisnaturalnessofspeechisbutanillusoryfeeling.Theprocessofacquiringspeechis,insob erfact,anutterlydifferentsortofthingfromtheprocessoflearningtowalk.Inthecaseofthelatt erfunction,culture,inotherwords,thetraditionalbodyofsocialusage,isnotseriouslybrought intoplay.Thechildisindividuallyequipped,bythecomplexsetoffactorsthatwetermbiologicalh eredity,tomakealltheneededmuscularandnervousadjustmentsthatresultinwalking.Indeed,the veryconformationofthesemusclesandoftheappropriatepartsofthenervoussystemmaybesaidtobe primarilyadaptedtothemovementsmadeinwalkingandinsimilaractivities.Inaveryrealsense,th enormalhumanbeingispredestinedtowalk,notbecausehiselderswillassisthimtolearnthear t,butbecausehisorganismispreparedfrombirth,orevenfromthemomentofconception,totake onallthoseexpendituresofnervousenergyandallthosemuscularadaptationsthatresultinwalkin g.Toputitconcisely,walkingisaninherent,biologicalfunctionofman. Notsolanguage.Itisofcoursetruethatinacertainsensetheindividualispredestinedtotalk ,butthatisdueentirelytothecircumstancethatheisbornnotmerelyinnature,butinthelapofasoc ietythatiscertain,reasonablycertain,toleadhimtoitstraditions.Eliminatesocietyandthere iseveryreasontobelievethathewilllearntowalk,if,indeed,hesurvivesatall.Butitisjustasce rtainthathewillneverlearntotalk,thatis,tocommunicateideasaccordingtothetraditionalsys temofaparticularsociety.Or,again,removethenew-bornindividualfromthesocialenvironmenti ntowhichhehascomeandtransplanthimtoanutterlyalienone.Hewilldeveloptheartofwalkinginhi snewenvironmentverymuchashewouldhavedevelopeditintheold.Buthisspeechwillbecompletelya tvariancewiththespeechofhisnativeenvironment.Walkingthenisageneralhumanactivitythatva riesonlywithinarestrictedlimitaswepassfromindividualtoindividual.Itsvariabil ityispurposeless.Speechisahumanactivitythatvarieswithoutassignablelimitaswepassfr omsocialgrouptosocialgroup,becauseitisapurelyhistoricalheritage,theproductoflong-cont inuedsocialusage.Itvariesasallcreativeeffortvaries-notasconsciously,perhaps,butnoneth elessastrulyasdothereligions,thebeliefs,thecustoms,andtheartsofdifferentpeoples.Walki ngisanorganic,instinctivefunction,speechisanon-instinctive,acquired,"cultural"functio n. (1).ThefirstsentenceofParagraphTwo,"Notsolanguage"istheclosestinmeaningto______. " A.thisisnotthecasewithlanguage " B.soislanguageandnotanythingelse " C.nosuchathingexistsinlanguage " D.notsomuchwithlanguage A.√ B. C. D. 解析:细节推理题。Notsolanguage承接首段的最后一句话,将language与walking进行对比,上文提及"行走是人类与生俱来的一种生物功能",而语言则不是。选项A与文中的意思最接近。故答案为A。

高级语言程序设计基础--阶段作业一

一、单项选择题(共20道小题,共100.0分) 1.Java程序开发的步骤是()。 A.编译编辑运行 B.编辑编译运行 C.编译运行 D.编辑运行 知识点: 新主题1自测 学生答 案: [B;] 得分: [5] 试题分 值: 5.0 提示: 2. 3.有一个java类文件HelloWorld.class,下面哪个指令是正确的运行指 令?() A.java HelloWorld B.java HelloWorld.class C.javac HelloWorld D.javac HelloWorld.class 知识点: 新主题1自测 学生答 案: [A;] 得分: [5] 试题分 值: 5.0 提示: 4. 5.有一个java源文件HelloWorld.java, 下面哪个指令是正确的编译指 令?() A.java HelloWorld B.java HelloWorld.java C.javac HelloWorld D.javac HelloWorld.java 知识 点: 新主题1自测 学生[D;]

得分: [5] 试题分值: 5.0 提示: 编译指令的格式为javac编译的源程序名,java.exe是解释程序。选项AC源文件名不完整,选项B指令错误。 6. 7.编译Java源程序时,实际上做了什么工作?() A.将其存盘 B.将其转换为计算机能够理解的格式 C.将其加入到程序集中 知识 点: 新主题1自测 学生答 案: [B;] 得分: [5] 试题分值: 5.0 提示: 解释:java必须先编译后执行,编译程序就是把java源程序转换成虚拟机能读懂的格式。 8. 9.下面说法中不正确的是()。 A.Java是一种面向过程的语言 B.Java语言支持多线程 C.Java程序语言有一次编译多处运行的特点 D.Java支持网络编程 知识点: 新主题1自测 学生答 案: [A;] 得分: [5] 试题分 值: 5.0 提示: 10. 11.下面说法不正确的是()。 A.类是Java程序的基本组成单元。 B.一个源文件只能包含一个类。 C.方法存在于类中,一个类可以包含零个、一个或多个方法。 D.语句存在于方法中或类中。 知识点: 新主题2自测

基于SPI Flash的Sharc系列DSP程序加载

技术创新 DSP 开发与应用 您的论文得到两院院士关注 基于SPI Flash 的Sharc 系列DSP 程序加载 The Procedures-load of Sharc Series of DSP Based on SPI Flash (四川大学) 雷春梅周群刘谋云应俊 LEI Chun-mei ZHOU Qun LIU Mou-yun YING Jun 摘要:DSP 是针对数字信号处理需要而设计的一种具有特殊结构的微处理器。它需要通过程序加载来进行信号处理,本文通过具体实例介绍了sharc 系列的DSP 通过其SPI 口的程序加载,同时也介绍了相关系统的硬件设计和软件的调试。该技术可靠性高,使用灵活方便,具有很强的实用性。关键词:程序加载;SPI 接口;数字信号处理;调试中图分类号:TP319文献标识码:B Abstract:DSP is designed to meet the need of Digital Signal Processing as a specific structuralized microprocessor,in which the signal processes through the procedures-load.In this paper,we introduce the course of loading the procedures via SPI port of DSP,which belongs to the sharc line,and also the relevant system ’s design of hardware and the debugging of software is introduced.With flexible and convenient,this method is of high reliability and highly practical.Key words:Procedures-load;SPI port;Digital Signal Processing;degug 文章编号:1008-0570(2010)04-2-0115-02 1引言 DSP 芯片主要用于数字信号处理。当前占据市场大部分份额的DSP 生产厂商是美国的德州仪器与模拟器件两家公司。在国内,尤以德州仪器生产的芯片使用更加广泛。 使用DSP 进行信号处理,就涉及到程序加载问题,不同厂家 生产的不同系列DSP 的程序加载方式也大同小异。 现在应用得比较广泛的是从flash 中加载程序。因为flash 是一种可在线编程的存储器,而且具有掉电后数据不丢失、功耗低、容量大、读取快、价格低、操作简单等优点。Flash 存储器芯片又分为并口 flash 和串口flash 。 对于并口flash,操作更为简单,数据并行传输,但占用较多的外围接口资源,因此这种程序加载方式比较适合芯片接口资源比较丰富的系统设计;而串口flash,虽然对其进行编程等操作相对复杂一些,但在接口资源比较紧张时却具有其他编程方式无可比拟的优势。 对flash 芯片的烧写,一般有两种方法:编程器烧写和在线编程。编程器烧写,即是通过硬件编程器,将工程文件经过编译链接后得到的输出文件写入flash 芯片中,这种程序烧写方式实现起来比较简单,但需要额外的硬件编程器,因而一定程度上提高了开发成本。另一方面,表贴式封装的flash 芯片不可能使用编程器烧写,只能采用在线编程。本文将通过一个AD 公司生产的sharc 系列DSP 通过其SPI 口的程序加载的具体实例来详细介绍。后面将通过硬件设计和软件架构来介绍其硬件和软件结构并总结了一些调试经验。 2硬件设计 2.1flash 芯片M25P20-VMN6简介 m25p20是美国ST 公司生产的一款flash 存储器芯片。该芯片具有与工业标准SPI 接口兼容的外部引脚。该芯片具有 2Mbit 的存储空间,即256Kbytes 。存储空间被分成四段,每段56Kbytes,并且每段存储空间由256页组成,每页大小为 256Bytes 。 对该芯片进行编程,一次性连续写入最多256Bytes 。该芯片具有一个状态寄存器,通过对其编程,可以实现芯片存储空间的保护,以及芯片写使能等操作。另外,状态寄存器中也具有 BUSY 标志位,通过该标志位,可以查询芯片当前状态。 除了读写状态寄存器以外,该存储器芯片还具有读、写、整片擦除、段擦除等命令。其器件编程的指令时序见参考文献[2]。 2.2flash 芯片与DSP 芯片的硬件连接 使用的flash M25P20芯片具有与工业标准SPI 接口兼容的外部引脚,我们使用的Sharc 系列DSP 芯片也具有同样的SPI 接口,因此,只需要将两个芯片SPI 接口的引脚对应连接即可。这就大大的节省了DSP 芯片的外部接口资源。由于Sharc 系列DSP 芯片的外设接口资源相当的丰富,而外部引脚数却极其的有限,因此,该系列DSP 芯片的引脚复用情况相当严重。 图1 Sharc 系列DSP 的外设接口分为两个部分:DAI 与DPI 。每个部分都含有各种类型的外设接口,比如,DAI 中有PCG(精确时钟产生器),DPI 中包括Timer(定时器)、UART(串口)等。 我们使用的SPI 接口就包含在DPI 中。DPI,即数字外设接口,其占有的14个外部引脚可以使用SRU 宏分配给它包括的任意一个外设接口。Sharc 系列DSP 包含两个SPI 接口,分别是DPI 中的SPI 和DAI 中的SPI B 。在我们的硬件设计中,使用DPI 中的SPI 。SPI 通信具有主从两种工作模式,在实例中,DSP 的SPI 接口工作于主模式,flash 芯片工作于从模式。对于sharc 系列DSP,根据 雷春梅:硕士研究生

四川大学2013汇编语言A卷

四川大学期末考试试题(闭卷) (2013~2014学年第1学期) 课程号:304026020 课程名称:汇编语言程序设计(A卷)任课教师:唐宁九李征郑成明张刚吴仲光余波适用专业年级:计算机科学与技术 2012级学号:姓名: 注意事项:1. 请务必将本人所在学院、姓名、学号、任课教师姓名等信息准确填写在试卷和答题纸上。 2. 考试结束,请将试卷和答题纸一并交给监考老师。 一、单项选择题(本大题共20小题,每小题1分,共20分)提示:在每小题 评阅教师得分 列出的四个备选项中只有一个是符合题目要求的,请将题号与符合题目要求的代码填写在 答题纸上。错选、多选或未选均无分 1. 以下哪一条指令一定会使SP寄存器的内容减2?( B ) (A)SUB BP,2 (B)PUSHF (C)ADD SP,2 (D)POP AX 2. 以下哪一条指令一定会使CF标志为0?( C ) (A)JC L1 (B)ADD AL,BL (C)CLC (D)CMP CL,AL 3. 以下哪一条指令一定会使ZF标志为1?( C )and or xor test都会强制将cf of清零,af不确定af不确定 (A)ADD BL,03H (B)STC (C)XOR CL,CL (D)JZ L2 4. 以下指令中,哪一条不影响标志位?( B )not对标志位不影响 (A)NEG AL (B)NOT DL (C)XOR AL,05H (D)ADC AL,08H 5. 以下指令中,哪一条不影响CF标志位?A (A)JC L3 (B)NEG BL(求相反数)(C)SUB DL,77H (D)POPF 6. 以下指令中,使用了立即数寻址方式的是哪一条?( D ) (A)MOV AL,BL (B)ADD [BX],CL (C)AND [1200H],DL (D)SUB AX,0012H 7. 以下指令中,使用直接寻址方式的是哪一条?( B ) (A)MOV [BX],AX (B)AND [0102H],BL (C)NOP (D)MOV AX,0300H 8.以下指令中,使用变址分量进行寻址的是哪一条?( D ) (A)SBB [BP],CX (B)SUB BL,DL (C)MOV [0920H],DL (D)ADD [SI],AL

电气工程及其自动化考研总况

电气工程及其自动化考 研总况 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

电气工程及其自动化考研总况 一、全国电气工程及其自动化专业学校排名 1.清华大学 2.西安交通大学 3.华中科技大学 4.浙江大学 5.重庆大学 6.天津大学 7.哈尔滨工业大学 8.上海交通大学 9.华北电力大学10.东南大学11.西南交通大学12.沈阳工业大学13.中国矿业大学14.华南理工大学15.南京航空航天大学16.北京交通大学17.武汉大学18.哈尔滨理工大学19.四川大学20.河海大学21.哈尔滨工程大学22.郑州大学23.广西大学24.陕西科技大学 二,电气工程与自动化专业 (1)业务培养目标: 业务培养目标:本专业培养在工业与电气工程有关的运动控制、工业过程控制、电气工程、电力电子技术、检测与自动化仪表、电子与计算机技术等领域从事工程设计、系统分析、系统运行、研制开发、经济管理等方面的高级工程技术人才。 业务培养要求:本专业学生主要学习电工技术、电子技术、自动控制理论、信息处理、计算机技术与应用等较宽广领域的工程技术基础和一定的专业知识。学生受到电工电子、信息控制及计算机技术方面的基本训练,具有工业过程控制与分析,解决强弱电并举的宽口径专业的技术问题的能力。

(2)主干课程: 主干学科:电气工程、控制科学与工程、计算机科学与技术 主要课程:电路原理、电子技术基础、计算机原理及应用、计算机软件基础、控制理论、电机与拖动、电力电子技术、信号分析与处理、电力拖动控制系统、工业过程控制与自动化仪表等。高年级可根据社会需要设置柔性的专业方向模块课及选修课。 主要实践性教学环节:包括电路与电子基础实验、电子工艺实习、金工实习、专业综合实验、计算机上机实践、课程设计、生产实习、毕业设计。 主要实验:运动控制实验、自动控制实验、计算机控制实验、检测仪表实验、电力电子实验等 (3)修业年限: 四年 (4)授予学位: 工学学士 (5)相近专业: 微电子学自动化电子信息工程通信工程计算机科学与技术电子科学与技术生物医学工程电气工程与自动化信息工程信息科学技术软件工程

[四川大学]《程序设计语言(1)1347》18秋在线作业1

【奥鹏】[四川大学]《程序设计语言(1)1347》18秋在线作业1 试卷总分:100 得分:100 第1题,C语言程序的执行,总是起始于() A、程序中的第一条可执行语句 B、程序中的第一个函数 C、main函数 D、包含文件中的第一个函数 第2题,语句 PRINT "3.5" +"6.5" +"42"执行的结果是()。 A、52 B、3.5 + 6.5 + 42 C、-1 D、3.56.542 第3题,用DIM s (4)定义的数组可存放的元素个数为()。 A、4 B、5 C、6 D、7 第4题,已知int a=6; 则执行a+=a-=a*a;语句后,a的值为() A、36 B、0 C、-24 D、-60 第5题,在C语言中,引用数组元素时,其数组下标的数据类型允许是() A、整型常量 B、整型表达式 C、整型常量或整型表达式 D、任何类型的表达式 第6题,下列语句执行后,变量a的值是()。a = 3:a = 6ENDa = 9 A、3

B、6 C、9 D、程序有错,a的值不可确定 第7题,下面的字符串赋值语句中正确的是()。 A、x = "ABC" B、y$ = ABC C、z$ = "123" D、w$ = 123 第8题,已知char ch=′C′;则表达式ch=(ch=′A′ && ch=′Z′)?(ch+32):ch;的值是() A、A B、a C、Z D、c 第9题, A、3 B、9 C、-99 D、12 第10题,表达式"25 MOD(1-2∧2)"的值是()。 A、1 B、2 C、3 D、0 第11题,下面的字符串赋值语句中,正确的是()。 A、x = " ab " B、y$ = ab C、z$ = " 39 " D、w$ = 39

四川大学制造科学与工程学院本科课程数据分析及数值计算

数据分析及数值计算 四川大学制造科学与工程学院本科课程《数据分析及数值计算》教学大纲 课程编号:Course Code: 302306020 302306020 课程类型:Course Type: 必修课Compulsory 课程名称: Course Name: 数据分析及数值计算 Data Analysis and Numerical Calculation 授课对象: Audience: 本科三年级学生Junior 学时/学分: Credit Hours / Credits 32/2 32/2 授课语言:Language of Instruction 中文 Chinese Mandarin 先修课程:Prerequisite: 高等数学、线性代数、计算机基础Advanced Mathematics, Linear Algebra, Computer Basics 开课院系: Course offered by: 机械工程系 Department of Mechanical Eng. 适用专业:Intended for: 机械设计制造及其自动化专业Mechanical Design, Manufacturing and Automation 授课教师:Instructor: 大纲执笔人:Edited by: 陈领、于淼Chen Ling, Yu Miao 大纲审核人:Inspected by: 专业负责人Course Leader 一、课程简介 本课程是针对机械设计制造及其自动化专业学生,通过学习数据分析及数值计算的理论与方法,使学生能具备数据分析、数值计算以及利用MATLAB 程序进行仿真计算的能力。讲授过程中将数学方法与实例相结合,使学生在面对机械工程实际问题时,能顺利地理解及提炼数据背后的信息,从而进行相关的判断和决策,以便采取合适的策略与行动。 本课程全面地介绍了现代数据分析方法、数值计算理论与MATLAB 的基本概念及功能,包括数据分析基本概念、MATLAB 基础概述、数据描述性分析、数据可视化、回归分析、智能优化算法、数值计算基础、数值微分和数值积分、代数方程组的解法以及常微分方程的数值解等内容。 二、学习目标 1、对MATLAB 软件的发展历程、优势特点、系统组成等有较为系统全面的认识,了解MATLAB 的基础知识以及常用工具的实现; 2、在实际工程问题中,面对复杂的工程类问题,能够提炼出数学问题,选择合适的工具对相应的问题进行求解; 3、能够熟悉MATLAB 这一工程软件,并可以将其运用于科学计算、控制系统设计与分析、

双通道语音增强的DSP实现

总第172期 2008年第10期 舰船电子工程 Ship Electronic Engineering Vol.28No.10 104  双通道语音增强的DSP 实现 3 杨 帆 高 勇 (四川大学电子信息学院 成都 610065) 摘 要 双通道语音增强技术在自适应噪声对消系统中有着广泛的应用。在传统的双通道自适应噪声对消系统里,需要一个纯净的参考噪声作为辅助输入,但这在实际应用中很难做到。首先针对基本的自适应噪声对消原理,研究了一种改进的双通道自适应语音增强模型。该模型是一个基于TMS320C6713B 芯片的双通道实时数据处理系统,以AD73311为数模转换器件,具有两路独立的A/D 、D/A 通道,能够实现语音信号的16位数据采集与处理。最后对此系统的DSP 硬件设计作了简要介绍,并研究了该系统的软件设计以及算法实现。 关键词 双通道;自适应噪声对消;DSP 中图分类号 TN911.72 DS P Implement ation of Two Cha nnel Speech Enha ncement Yang Fa n Gao Yong (College of Electronics and Information Engineering ,Sichuan University ,Chengdu 610065) Abs t rac t The two channel speech enhancement technology is widely used in adaptive noise cancellation (ANC )systems. Pure reference noise is demanded as auxiliary input in traditional two channel ANC systems ,but it is hard to implement in ac 2tual environment.Based on the basic principle of ANC ,this paper presents a modified model of two channel adaptive speech enhancement.This model is a two channel real time data processing system based on TMS320C6713B ,with AD73311as its converting device.It includes two separate A/D ,D/A channels ,capable of implementing 162bit data acquisition and process 2ing.Then the DSP hardware system design is briefly introduced ,the system software design and the corresponding algorithm implementation are also investigated. Ke y w ords two channel ,adaptive noise cancellation ,DSP Class Nu m ber TN911.72 1 引言 在现代舰船的工作环境里,无线语音通信不可避免的会受到各种环境噪声的影响,如舰船发动机、风机等机械噪声及海浪、风雨雷电等气象噪声。这些环境噪声在发送端与通信者的话音一起进入发端麦克风,会极大降低话音通信的质量,严重时会导致接收端无法收听或理解错误,这对舰船的通信指挥和信息的交互非常不利,需要进行处理。 针对现代舰船这种特殊的工作环境,自适应噪 声对消(ANC )是一种较为有效的语音增强方法[1]。ANC 以噪声为处理对象,对它进行抑制或衰减,而 在处理过程中,并不需要知道噪声的先验统计知识,因为它多使用了一个参考通道。当语音信号以及信号统计特性发生改变时,自适应滤波器能自适应的调节它的权值来适应新的情况[2]。 DSP 芯片是一种非常适合数字信号处理运算 的微处理器,以DSP 芯片为核心的嵌入式系统可 3 收稿日期:2008年6月23日,修回日期:2008年7月21日作者简介:杨帆,男,硕士研究生,研究方向:移动通信、DSP 开发、实时信号处理。高勇,男,博士,副教授,研究方向:阵列信号处理、软件无线电、通信抗干扰技术、实时信号处理、嵌入式系统开发等。

数字信号处理期末试卷(含答案)

数字信号处理期末试卷 一、填空题:(每空1分,共18分) 1、数字频率ω是模拟频率Ω对采样频率s f 的归一化,其值是 连续 (连续还是离散?)。 2、双边序列z 变换的收敛域形状为 圆环或空集 。 3、某序列的DFT 表达式为∑-==1 0)()(N n kn M W n x k X ,由此可以看出,该序列 时域的长度为 N ,变换后数字频域上相邻两个频率样点之间的间隔是 M π 2 。 4、线性时不变系统离散时间因果系统的系统函数为 2 52)1(8)(22++--=z z z z z H ,则系统的极点为 2,21 21-=-=z z ;系 统的稳定性为 不稳定 。系统单位冲激响应)(n h 的初值 4)0(=h ;终值)(∞h 不存在 。 5、如果序列)(n x 是一长度为64点的有限长序列)630(≤≤n ,序列) (n h 是一长度为128点的有限长序列)1270(≤≤n ,记)()()(n h n x n y *=(线性卷积),则)(n y 为 64+128-1=191点 点的序列,如果采用基FFT 2算法以快速卷积的方式实现线性卷积,则FFT 的点数至少为 256 点。 6、用冲激响应不变法将一模拟滤波器映射为数字滤波器时,模拟频率 Ω与数字频率ω之间的映射变换关系为T ω= Ω。用双线性变换法将一 模拟滤波器映射为数字滤波器时,模拟频率Ω与数字频率ω之间的映射变换关系为)2tan(2ωT = Ω或)2 arctan(2T Ω=ω。 7、当线性相位FIR 数字滤波器满足偶对称条件时,其单位冲激响应)(n h 满足的条件为)1()(n N h n h --= ,此时对应系统的频率响应 )()()(ω?ωωj j e H e H =,则其对应的相位函数为ωω?2 1 )(-- =N 。 8、请写出三种常用低通原型模拟滤波器 巴特沃什滤波器 、 切比雪夫滤波器 、 椭圆滤波器 。 二、判断题(每题2分,共10分) 1、模拟信号也可以与数字信号一样在计算机上进行数字信号处理,只要 加 一 道 采 样 的 工 序 就 可 以 了 。 (╳) 2、已知某离散时间系统为)35()]([)(+==n x n x T n y ,则该系统为线性时 不变系统。(╳) 3、一个信号序列,如果能做序列的傅里叶变换(DTFT ),也就能对其做DFT 变换。(╳) 4、用双线性变换法进行设计IIR 数字滤波器时,预畸并不能消除变换中产 生 的 所 有 频 率 点 的 非 线 性 畸 变 。 (√) 5、阻带最小衰耗取决于窗谱主瓣幅度峰值与第一旁瓣幅度峰值之比。 (╳) 三、(15分)、已知某离散时间系统的差分方程为

四川大学考博英语真题及答案详解

四川大学2012考博英语真题及答案详解 阅读 1)Sign has become a scientific hot button. Only in the past 20 years have specialists in language study realized that signed languages are unique—a speech of the hand. They offer a new way to probe how the brain generates and understands language, and throw new light on an old scientific controversy: whether language, complete with grammar, is something that we are born With, or whether it is a learned behavior. The current interest in sign language has roots in the pioneering work of one rebel teacher at Gallaudet University in Washington, D. C., the world's only liberal arts university for deaf people. When Bill Stokoe went to Gallaudet to teach English, the school enrolled him in a course in signing. But Stokoe noticed something odd: among themselves, students signed differently from his classroom teacher. Stokoe had been taught a sort of gestural code, each movement of the hands representing a word in English. At the time, American Sign Language (ASL) was thought to be no more than a form of pidgin English (混杂英语). But Stokoe believed the “hand talk”his students used looked richer. He wondered: Might deaf people actually: have a genuine language? And could that language be unlike any other on Earth? It was 1955, when even deaf people dismissed their signing as “substandard”. Stokoe's idea was academic heresy (异端邪说). It is 37 years later. Stokoe—now devoting his time to writing and editing books and journals and to producing video materials on ASL and the deaf culture—is having lunch at a cafe near the Gallaudet campus and explaining how he started a revolution. For decades educators fought his idea that signed languages are natural languages like English, French and Japanese. They assumed language must be based on speech, the modulation (调节) of sound. But sign language is based on the movement of hands, the modulation of space. “What I said,”Stokoe explains, “is that language is not mouth stuff—it's brain stuff.” 21. The study of sign language is thought to be _____C___. A) a new way to look at the learning of language B) a challenge to traditional, views on the nature of language C) an approach: to simplifying the grammatical structure of a language D) an attempt to clarify misunderstanding about the origin of language(C)

相关主题
文本预览
相关文档 最新文档