APP下载

航天嵌入式软件数据访问冲突基准测试集研究

2017-07-03陈睿杨孟飞

中国空间科学技术 2017年3期
关键词:嵌入式软件中断基准

陈睿,杨孟飞

1.北京控制工程研究所,北京100190 2.北京轩宇信息技术有限公司,北京100190 3.中国空间技术研究院,北京100094



航天嵌入式软件数据访问冲突基准测试集研究

陈睿1,2,杨孟飞3,*

1.北京控制工程研究所,北京100190 2.北京轩宇信息技术有限公司,北京100190 3.中国空间技术研究院,北京100094

针对数据访问冲突问题的检测方法及工具的研究很多,但缺少对其进行评估的基准测试集。文章基于大量真实航天嵌入式软件中断数据访问冲突案例研究的结果,总结出影响数据访问冲突检测的6类要素,设计开发了嵌入式软件中断数据访问冲突基准测试集程序RaceBench,对SpaceDRC工具进行了指标评估。结果表明,RaceBench能够有效评估工具的适用性。

数据访问冲突;基准测试集;航天嵌入式软件;数据竞争;软件测试

数据访问冲突问题是嵌入式软件中一类典型的并发缺陷,曾经引发严重的安全事故[1-2],也是当前航天型号软件开发中最难解决的问题之一[3]。在学术领域或工程领域,数据竞争(Data Race)、原子性问题、数据访问冲突或共享数据问题都属于这一概念。这类问题发生在中断驱动型程序或多任务程序中,当两个不同的中断(或任务)对同一个共享数据进行同时的读写访问,且至少存在一次写操作时。由于两次访问的时序不可确定,程序会因此产生异常行为,如关键数据被非预期地修改,严重时甚至导致系统或软件失效。例如,某卫星翼板驱动线路盒转角跳变导致控制偏差等。根据数据统计,近五年在中国卫星总装集成测试阶段发现的软件质量问题中,超过13%都与数据访问冲突问题密切相关。这些问题一旦遗漏至实际飞行阶段,后果将不堪设想。

值得注意的是,数据访问冲突问题发生概率小、难以复现,往往在特殊的外部条件和中断(或任务)交迭情况下才会出现,难以通过传统的软件测试方法发现,遗漏率较高。因此,近年来数据访问冲突自动检测方法已成为研究热点,国家自然科学基金“可信软件基础研究”重大研究计划及民用航天预先研究等都先后资助了相关课题,产生了一批有价值的方法或工具成果[4-13],随着研究的不断深入,未来还将产生更多的成果。

不同的数据访问冲突检测方法或工具在实际代码中应用时,检出率、误报率、性能等技术指标存在较大差异。一方面,在工程实践中选取合适的工具时需要一个统一的评价标准进行指导;另一方面,工具的研究设计者也希望了解自己的成果在工程实践中的适用性及与其他竞争成果的优劣比较,为进一步改进研究提供指导。

基准测试集是一种有效、低成本的评估和度量手段。一个获得广泛认可的基准测试集具有重要的技术价值和社会影响。目前有很多应用广泛的标准测试集,如用于性能评估的SPEC[14]和TPC[15]系列。对于代码缺陷检测,近年来也出现一些基准测试集,如BegBunch[16],BugBench[17]及美国国家标准技术研究院的SAMATE SRD项目[18]。这些基准测试集都基于开源软件建立,多面向非嵌入式程序和通用类型缺陷,由于数据访问冲突问题的特殊性及嵌入式软件的封闭性和多样性,并不能用于评估针对数据访问冲突的检测工具。

因此本文对航天嵌入式软件数据访问冲突基准测试集开展研究,通过对大量真实案例的系统研究得出6类影响数据访问冲突检测的关键要素,基于此设计开发了已知首个中断数据访问冲突基准测试集RaceBench,该基准测试集的构建遵循代表性、多样性、公平性和适应性原则。本文基于RaceBench对一个已有的数据竞争检测工具SpaceDRC进行评估,验证了该基准测试集能够有效评估工具的检出率和误报率等指标。我们计划未来公开RaceBench的源代码,可为其他研究中断数据访问冲突问题的学者提供开放的测试集。

1 中断数据访问冲突问题要素

本文对大量真实航天嵌入式软件数据访问冲突案例进行系统分析,综合检测技术、软件特征、缺陷特征等多种因素,提炼出数据访问冲突问题的关键要素,作为构建基准测试集的基础。

本节对问题特征分析的方法学和结果进行说明。

1.1 案例分析方法概述

首先,对航天嵌入式软件第三方评测问题库、第三方评测遗漏问题库和北京控制工程研究所软件问题案例进行了分析,通过关键字查询的方式初步筛选出124个相关缺陷。经过进一步的去重和精化,最终获得100个样本缺陷。

然后,进行缺陷特征信息采集,包括:1)确定与缺陷特征与统计分析相关的因素,包括软件名、运行环境、并发体系结构、规模、问题,描述、代码片段、共享数据类型、问题处理方式;2)设计相应的表格收集缺陷信息。缺陷特征信息的收集是一个迭代的过程,在此过程中,需要查看问题管理系统中的问题描述、定位代码,比对获取后续版本的修改策略。

最后,经过统计分析,得出特征结果。

1.2 数据访问冲突问题要素

经案例分析得出,数据访问冲突问题有软件特征和缺陷特征两方面的要素,如图1所示。其中,软件特征包括并发体系结构、开发语言及运行环境等;缺陷特征包括并发关系、数据访问方式、共享数据的类型、控制流场景和缺陷模式。

1.2.1 要素1:软件并发体系结构

数据访问冲突是一种典型的并发缺陷,软件的并发体系结构与缺陷检测之间存在直接的关系。航天嵌入式软件是典型的强实时系统,且存在多种并发方式。主要采用两种并发体系结构:

(1)主循环+中断结构(Round-Robin with Interrupts)

在简单轮询式结构的基础上引入中断,称为主循环+中断结构(Round Robin with Interrupts,RRI)。在这种结构下,紧急任务可以在中断服务程序中得到处理,某些情况下可能在中断中设置标志,在主循环中完成后续处理,图2给出了一个RRI架构的示例程序。主循环+中断结构提高了对高优先级任务的响应能力,但与此同时,引入了新的问题,即共享数据的访问冲突。如果中断在使用共享变量进行计算的过程中发生,并且修改了共享变量的值,则会导致数据访问冲突问题。这种情况下,必须采取措施保护低优先级计算过程的原子性,例如通过中断屏蔽方式保护临界代码段。

(2)实时多任务操作系统+中断结构

随着航天嵌入式系统功能越来越复杂,软件的模块和规模越来越大,使用实时多任务操作系统(Real Time Operating System,RTOS)逐渐变得普遍。在基于RTOS的应用程序中,没有主循环,通过创建新任务可以实现主循环的功能。由于航天嵌入式系统对外部事件响应的实时性要求高、与外界交互多,一般在RTOS中也引入中断,用于处理非常关键的外部事件,形成一种异构的并发体系结构,本文称之为RTOS-ISR。在这种并发结构中,高优先级和低优先级任务之间可以对称交迭,但中断与任务的抢占关系是非对称的,即只有中断可以抢占任务,反之则不行。

(3)并发体系结构分布分析

根据案例分析数据统计,并发体系结构为RR-ISR的缺陷占82%,RTOS-ISR占18%。这种差异主要是由于航天嵌入式软件本身采用的并发体系结构分布导致的。需要注意的是,RTOS-ISR结构的程序呈上升趋势,为研究带来新的问题。本文在构建基准测试集时考虑到了这种统计差异。

1.2.2 要素2:软件形态及运行环境

软件形态包括编程语言和软件规模两个方面。

一般而言,无论是动态还是静态的检测工具都依赖于被测软件的编程语言,其中动态工具需要对源代码进行插桩以获取运行时信息,静态工具直接面向源程序。在本文所研究的案例中,95%的软件采用C语言编程,其余采用相应体系架构(如SPARC、x86等)的汇编语言,语法及特征并不统一,因此本文研究的基准测试集仅考虑C语言程序。

软件规模从数百行到上万行不等,并发流个数与体系结构相关,中断服务程序少于5个。

航天嵌入式软件的硬件运行环境多样,以SPARC、x86、MCS-51、DSP等体系结构的处理器为主。中断并发机制与处理器架构相关,多为固定优先级非对称抢占,各种处理器都有类似的中断屏蔽机制实现中断并发的互斥。

表1给出了案例在不同处理器上的分布数据。其中,68%的缺陷发生在8051平台上,这类软件多为中小规模。同时,随着SPARC处理器及DSP处理器在航天领域的广泛应用,在中大规模的软件中该类缺陷也逐渐增多。

表1 数据访问冲突缺陷处理器分布

1.2.3 要素3:共享数据类型及访问方式

共享数据的类型是影响中断数据访问冲突检测的关键因素。不同数据类型的共享数据在冲突方式上表现不同,例如结构体变量的冲突多发生在不同成员访问的不一致性,数组变量的冲突发生在不同元素访问中,因此对检测工具的能力要求也不同。目前航天嵌入式软件并发问题中表现出的冲突变量类型包括:

1)基本类型:共享数据为int、short、double等多字节基本类型,对这类变量的冲突发生在单个变量单次访问、单个变量多次访问或者多个变量一致性访问等几种情况中。基本类型的数据也包括对I/O端口的访问。

2)数组:共享数据的类型为数组。当按照一定顺序依次访问数组多个元素时,可能发生多个元素访问不一致的情况。

3)结构体:共享数据采用结构体类型,同一个数据的不同成员之间可能由于冲突导致完整性被破坏。

4)联合体:代码中对联合体不同成员的访问应当作对同一数据单元的操作,但是很多检测工具往往不能进行这种处理,因此是否支持联合体是对工具评估的一项要素。

5)指针类型:指针变量本身发生冲突,可能导致被访问的具体数据是不一致的。

在C语言程序中,对上述类型的共享数据进行访问的方式通常有两种,一是通过变量赋值和读取,二是通过指针解引用间接访问。其中,工具对前者的支持相对容易,对后者的支持需要引入稍复杂的指针分析技术,而是否精确又取决于所采用的指针分析算法的精度。在本文研究的案例中,通过指针解引用进行共享数据访问占到15%,共享数据访问方式也是对工具评估的要素之一。

1.2.4 要素4:控制流场景

无论动态或静态检测技术,控制流场景都可能影响分析的精度和效率。在航天嵌入式软件中,控制流场景包括:

1)函数嵌套:对于静态检测,对函数嵌套的支持需要引入过程间分析技术,否则将无法正确识别出通过底层函数对共享数据的读写操作。

2)中断嵌套:中断嵌套可被看作一种特殊的函数嵌套,但与函数调用不同,内层中断的触发不是显式的,具有不确定性。对中断嵌套的支持意味着分析的复杂度会指数级增长。

3)分支访问:分支访问会影响检测工具的误报率,当没有引入路径敏感分析时,工具不能识别出两个互斥分支是不可行路径,将导致较高的误报率。

1.2.5 要素5:并发关系

在不同并发体系结构下,数据访问冲突涉及的并发关系对工具的检测能力是一项挑战。并发关系包括:

1)任务与中断:任务中的数据访问被中断抢占而发生冲突。其中任务泛指主循环任务或实时操作系统中的任务;

2)中断与中断:指低优先级中断被高优先级中断抢占而发生冲突。

3)任务与任务:在实时操作系统下,多个任务之间未正确进行同步或互斥导致发生数据访问冲突。

在不同并发关系下,数据访问冲突发生的场景及缺陷特征表现不同,因此对检测技术及工具的要求也不同。

1.2.6 要素6:缺陷模式

根据本文前期研究[6],航天嵌入式软件中存在共7种数据访问冲突缺陷模式。其中模式1、模式2、模式3、模式5等4种缺陷模式可在软件代码上体现,且适合用工具进行自动化检测。模式4属于系统设计导致的缺陷,需从设计层面解决;模式6通过相关编码规范来进行约束,并不属于一般数据访问冲突检测工具研究的重点;模式7无法采用自动化的方法,一般通过代码审查即可有效识别。本文所关注的4种模式(详见文献[6])如下:

1)模式1:单变量访问序模式。

2)模式2:多个关联变量访问一致性被破坏。

3)模式3:多字节变量访问原子性被破坏。

4)模式5:重复加锁解锁。

2 数据访问冲突基准测试集 RaceBench

2.1 设计准则

基于第1节研究的要素集,本文按照以下原则设计开发了一个航天嵌入式软件数据访问冲突基准测试集RaceBench:

1)代表性。基准测试集要能够接近真实程序,代表真实软件和真实缺陷。由于嵌入式软件的封闭性,RaceBench无法像其他基准测试集一样通过收集开源程序完成,而是基于一个广泛应用于航天型号的实时嵌入式操作系统SpaceOS2开发。该操作系统具有多任务管理和中断管理特性,能够支持航天嵌入式软件常用的两种并发体系结构,在软件特征方面与真实嵌入式软件保持一致,保证RaceBench的真实性和代表性。

2)多样性。要能够覆盖不同类型的程序及程序不同的特征,包括程序的体系结构、程序的语法特征、缺陷模式类型;RaceBench通过选取或设计相应的程序,覆盖航天嵌入式软件特征及数据访问冲突缺陷特征的各个要素,保证基准测试集具有多样性。

3)适应性。基准测试集要能够适应不同的硬件平台,具有平台无关性;RaceBench将平台无关的特征考虑到构建中,而与平台相关的一些特性对检测方法研究并不具有普适性,本文并未考虑。

4)公平性。基准测试集的设计不应倾向于某个特定的工具或方法,保证具有公平的评价能力。RaceBench的设计和选取完全来源于案例及其要素,不依赖于特定的方法和工具。

一个完善的基准测试集需要持续地开发丰富,RaceBench采用模块化设计,便于对新要素覆盖的扩展。未来我们计划开源RaceBench,为其他研究中断数据访问冲突检测方法的学者提供研究基础。

2.2 RaceBench的设计与实现

RaceBench是一个运行在SpaceOS2上的应用程序,采用实时多任务操作系统+中断结构,由主控调度程序及若干用例程序组成。其中,主控调度程序根据并发场景的设计调用各个用例程序,不同的用例程序覆盖不同的数据访问冲突要素集合。

目前RaceBench包含14个用例程序,所有用例程序都来源于代表性的航天嵌入式软件案例,各个用例程序的覆盖情况如表2所示。表格填充表示测试程序对该要素覆盖。例如:用例1覆盖了缺陷模式1中R-W-R的访问序情况,涉及了一个基本类型的共享变量,冲突发生在任务与中断中,程序通过变量读写的方式访问共享数据,控制流场景中涉及了分支访问。

从表2可以看出,RaceBench的用例程序对各个要素都进行了完整的覆盖,具有多样性的特征。在并发设计上,主控程序包括5个任务及4个中断,优先级各不相同。任务为循环运行方式,每次循环完毕调用延时任务以实现任务的切换。4个中断中3个为随机触发,1个为定时触发。用例程序与各个任务和中断的关系如表3所示。

主控程序负责发起5个任务,向操作系统挂载4个中断,并在各个任务和中断入口函数中按照设计调用用例程序。各个任务和中断的属性如表4所示。通过上述并发场景设计,RaceBench能够模拟多级中断嵌套和多种并发抢占,对检测方法或工具的可伸缩性能够较好地评估。

基于RaceBench可扩展性设计,未来还将不断加入新的样例程序。

表2 用例程序对各个要素的覆盖

表3 用例程序与任务和中断的关系

表4 RaceBench中各个任务的属性

3 试验评估

为了验证RaceBench对数据访问冲突检测工具进行评估的能力,本文选取一个静态中断数据竞争检测工具SpaceDRC进行了试验。SpaceDRC是一个面向变量访问序模式的中断数据竞争检测工具,是本文前期的研究工作。该工具能够对部分数据访问冲突问题进行有效识别,但受所采用技术的限制,仍然存在误报和漏报,还处在不断地优化中。

SpaceDRC运行于一台型号为HP Compaq dc7900的计算机上,CPU为Intel Core2 Quad Q9650(3.00GHz,四核),内存为4GB,操作系统为Microsoft Windows 7。针对RaceBench的分析,SpaceDRC共报告23数据访问冲突,涉及96种场景,分析耗时69 s。经分析,工具报告结果中包含21处真实缺陷、2处误报和3处漏报。

其中2处误报原因为:SpaceDRC未考虑中断的触发时机,所涉及的并发场景在真实环境中无法复现。

对漏报情况的详细分析如下:

1)case5中,在任务中对case5_x,case5_y和case5_z三个全局变量进行读,在中断中取地址传引用给writeVariable()函数中,再通过指针解引用对3个变量进行写操作,如图3(a)所示。SpaceDRC未能识别出通过指针解引用进行共享数据访问导致的冲突。

2)case12中预埋了两种类型的冲突,包括指针解引用方式和联合体成员别名方式,如图3(b)所示。

对于前者,在低优先级中断中通过指向g1_case12的指针tmp解引用(*tmp=1)进行写操作,在高优先级中断中直接对变量进行写操作,两者实际上存在冲突,但SpaceDRC未报告。

对于后者,在低优先级中断中对联合体packet_case12的第1个成员header进行赋值,在高级中断中对其第2个成员进行赋值,根据联合体的语义定义,其第1个成员和第2个成员指向同一个内存数据,因此上述操作是潜在的数据访问冲突,但SpaceDRC未报告。

根据以上试验结果可以得出对SpaceDRC的评估结论:

1)SpaceDRC的检测能力覆盖了各类缺陷模式、并发关系和控制流场景;

2)SpaceDRC能够支持3级中断和5个以内任务的检测;

3)SpaceDRC不支持指针解引用数据访问方式和联合体数据类型,根据第1.2.3节对共享数据访问方式的统计分析,指针解引用和联合体别名方式仅占到15%。基于统计学规律可得出SpaceDRC对数据访问冲突问题的检出率为84%。

因此,RaceBench能够有效评估数据访问冲突检测工具的检出率、可伸缩性等各项指标,并为SpaceDRC的进一步改进提供了方向。

4 结束语

本文对航天嵌入式软件真实数据访问冲突案例进行了系统分析,提出了影响数据访问冲突检测的6类要素,为中断数据访问冲突基准测试集以及检测方法的研究提供了基础。基于这些要素,设计开发了已知首个中断数据访问冲突问题基准测试集RaceBench。RaceBench来源于真实案例,体现了中断数据访问冲突各个方面的要素,满足了一个基准测试集的代表性、多样性、公平性和适应性特征。试验表明,RaceBench能够有效评估相应工具的技术指标。本文构建的基准测试集对工具选型具有现实意义,也为中断数据竞争研究提供指导。一个完善的缺陷基准测试集构建是一个长期的过程,未来RaceBench将继续扩展新的缺陷特征和场景,提供更完备的评估能力。

References)

[1] LEVESON N G,TURNER C. An investigation of the Therac-25 accidents[J]. IEEE Computer,1993,16(7):18-41.

[2] US-Canada Power System Outage Task Force. Final report on the August 14,2003 blackout in the United States and Canada:Causes and Recommendations[EB/OL]. 2004-04-01. http:∥energy.gov/sites/prod/files/oeprod/DocumentsandMedia/BlackoutFinal-Web.pdf.

[3] 杨孟飞,顾斌,郭向英,等. 航天嵌入式软件可信性保障技术及应用研究[J]. 中国科学:技术科学,2015,45(2):198-203.

YANG M F,GU B,GUO X Y,et al. Aerospace embedded software dependability guarantee technology and application[J]. Scientia Scinica Technologica,2015,45(2):198-203(in Chinese).

[4] 段永颢,陈睿. 基于启发式的静态中断数据竞争检测方法[J]. 计算机工程与设计,2013,34(1):140-145.

DUAN Y H,CHEN R. Heuristic static data race detection for interrupt-driven software[J]. Computer Engineering and Design,2013,34(1):140-145(in Chinese).

[5] CHEN R,GUO X Y,DUAN Y H,et al. Static data race detection for interrupt-driven embedded software[C]∥ Proceedings of International Conference on Secure Integration and Reliability Improvement 2011,Jesu Island,South Korea,June 27-29,2011.Washington,D.C.:IEEE Reliability Society,2011.

[6] 陈睿,杨孟飞,郭向英. 基于变量访问序模式的中断数据竞争检测方法[J].软件学报,2016,27(3):547-561.

CHEN R,YANG M F,GUO X Y. Interrupt data race detection based on shared variable access order pattern[J]. Journal of Software,2016,27(3):547-561(in Chinese).

[7] REGEHR J,COOPRIDER N. Interrupt verification via thread verification[J]. Electron. Notes Theoretical Computer Science,2007,174(9):139-150.

[8] 周筱羽,顾斌,赵建华,等.中断驱动系统模型检验[J]. 软件学报,2015,26(9):2221-2230.

ZHOU X Y,GU B,ZHAO J H,et al. Model checking technique for interrupt-driven system[J]. Journal of Software,2015,26(9):2221-2230(in Chinese).

[9] WU X G,WEN Y J,CHEN L Q,et al. Data race detection for interrupt-driven programs via bounded model checking[C]∥ Proc.Of IEEE 7th International Conference on Software Security and Reliability-Companion(SERE-C),Washington,D.C.,USA,18-20 June,2013.

[10] 霍玮,于洪涛,冯晓兵,等. 静态检测中断驱动程序的数据竞争[J].计算机研究与发展,2011,48(12):2290-2299.

HUO W,YU H T,FENG X B,et al. Static data race detection of interrupt-driven programs[J].Journal of Computer Research and Development,2011,48(12):2290-2299(in Chinese).

[11] 陈园军,石浚菁,王林章,等.中断驱动的嵌入式系统数据竞争检测工具[J].计算机科学与探索,2015,9(8):914-925.

CHEN Y J,SHI J J,WANG L Z,et al. Data race detection tool for interrupt-driven embedded system[J]. Journal of Frontiers of Computer Science and Technology,2015,9(8):914-925(in Chinese).

[12] WU X G,CHEN L Q,MINE A,et al. Static analysis of run-time errors in interrupt-driven programs via sequentialization[J]. ACM Transactions on Embedded Computing Systems(TECS),2016,15(4):1-26.

[13] 于广良,杨孟飞,徐建,等. 面向多级中断系统的任务最差响应时间分析[J]. 中国空间科学技术,2016,36(2):28-36.

YU G L,YANG M F,XU J,et al. Worst case response time analysis of multi-level interrupt systems[J]. Chinese Space Science and Technology,2016,36(2):28-35(in Chinese).

[14] Standard Performance Evaluation Corporation. SPEC benchmarks[EB/OL].2017-03-28.URL:http:∥www.spec.org.

[15] Transaction Processing Council. TPC benchmarks[EB/OL].2016-10-26. URL:http:∥www.tpc.org/.

[16] CIFUENTES C,HOERMANN C,KEYNES N,et al. BegBunch:benchmarking for C bug detection tools[C]. The 2nd International Workshop on Defects in Large Software Systems,Chicago,USA,July 19,2009.

[17] LU S,LI Z,QIN F,TAN L,et al. BugBench:a benchmark for evaluating bug detection tools[C]∥Proc. of Workshop on the Evaluation of Software Defect Detection Tools,June,2005.

[18] NIST. National Institute of Standards and Technology SAMATE Reference Dataset (SRD) project[EB/OL].2016-01-01. http:∥samate.nist.gov/SRD,January,2006.

(编辑:车晓玲)

Study on aerospace embedded software data race benchmark

CHEN Rui1,2,YANG Mengfei3,*

1.BeijingInstituteofControlEngineering,Beijing100190,China2.BeijingSunwiseInformationTechnologyCo.Ltd.,Beijing100190,China3.ChinaAcademyofSpaceTechnology,Beijing100094,China

No good benchmark suite was made to evaluate the detection methods or tools for the advent of interrupt data race. Based on the real aerospace embedded software data race bugs,six essential factors related to data race detection were proposed,and the data race benchmark suite named RaceBench for aerospace embedded software was designed. The RaceBench,which is close to real programs and is extensible,covers all six factors. The RaceBench was used to evaluate a data race detection tool named SpaceDRC. The result shows that RaceBench can evaluate the capabilities of the tool effectively.

data access conflict;benchmark;aerospace embedded software;data race;software testing

10.16708/j.cnki.1000-758X.2017.0052

2017-04-10;

2017-04-20;录用日期:2017-05-18;网络出版时间:2017-05-31 09:44:37

http:∥kns.cnki.net/kcms/detail/11.1859.V.20170531.0944.004.html

国家自然科学基金(91118007,61632005)

陈睿(1984-),男,博士研究生,高级工程师,chenrui@sunwiseinfo.com,研究方向为嵌入式软件测试

*通讯作者:杨孟飞(1962-),男,研究员,yangmf@bice.org.cn,研究方向为空间飞行器系统设计、控制计算机系统及嵌入式软件

陈睿,杨孟飞. 航天嵌入式软件数据访问冲突基准测试集研究[J].中国空间科学技术,2017,37(3):62-70.

CHENR,YANGMF.Studyonaerospaceembeddedsoftwaredataracebenchmark[J].ChineseSpaceScienceandTechnology,2017,37(3):62-70(inChinese).

TP311

A

http:∥zgkj.cast.cn

猜你喜欢

嵌入式软件中断基准
TMS320F28335外部中断分析与研究
多级中断屏蔽技术分析
浅谈机械制造加工中的基准
嵌入式软件测试数据传输稳定性检测方式分析
一种考虑GPS信号中断的导航滤波算法
浅析嵌入式软件技术的现状与发展动向
应如何确定行政处罚裁量基准
基于VPRS方法的汽车嵌入式软件品质评估
跟踪导练(二)(5)
嵌入式软件在计算机软件开发过程中的运用