DO-178C学习笔记

(1)我们经常遇到困难,是因为我们掌握的知识还不够。

安全关键软件是指应用于航天、航空、交通、医疗、军事、核能等领域,运行情况会影响到人身和设施安危的软件系统,该类软件无疑值得施以有效的方法追求“万无一失”。最有效的方法就是“高质量的过程产生高质量的产品”,在这一理念下,广为人知的是CMMI和DO-178C,前者评判一个组织的能力,而后者评判一个产品是否合格。

使用CMMI或DO-178C,无论开展研制还是检查,可能会牺牲一些“发挥”的空间,但是更强的可依据性、易判定性也将避免不少疑问与纠结的可能。

软件工程难题的根源是软件状态空间超大、需求抽象漂移、人为因素交织等内在特征,而与软件应用的领域并无太大关联,因此无论是IEC61508、IEC26262、EN50128还是DO-178C,其本质要求都是类似的。

大多数安全关键系统并不是从零开始开发的,相反,更多是建立在已有功能和产品之上的衍生式项目,因此,重要的是整个生命周期中要考虑基于原有的系统,建立一个能够同时满足客户需要和安全性目标的现实产品。

软件产品保证的目标是在开发过程中应用严格的过程,从而防止、识别以及去除错误。就算我们对于“无知之错”没有足够好的办法,我们至少可以努力避免“无能之错”,避免由于我们自己的不小心或失误而犯错。一个软件验证报告会总结验证活动的结果。

“无知之错”又分为两种,一种是全人类都还没有掌握的知识,另一种是世界上有人掌握了、而我们自己还没有掌握的知识。我们经常遇到困难,是因为我们掌握的知识还不够。幸运的是,有很多牛人发现了很多有趣的知识,等待我们去掌握。例如DO-332中的动态内存分配,绝对是一份完整的应用指南。

与软件安全性有关的知识包括:

ARP4761民用机载系统与设备的安全性评估过程指南与方法

MIL882E系统安全性标准

DO-278A通信、导航、监视与空中交通管理软件完整性保证

DO-330软件工具鉴定

DO-331基于模型的开发与验证

DO-332面向对象技术与相关技术

DO-333形式化方法

DO-248C常见问题和讨论纪要,澄清DO-178C

CAST-17目标码的结构覆盖

CAST-19陈述数据耦合与控制耦合

FAA 8110.49使用模拟器或仿真器时管理开发和验证环境的指南

Standish Group研究报告

CWE

OWSAP

图片发自简书App


(2)需求和验证中的重要目标

DO-178C把软件生命周期划分为若干目标,A级软件共有71个目标,其中需求和验证有关的目标最多。

需求应该具有实现无关性,但有时也会有一些例外,例如界面需求或导出需求。需求应该是可以验证的,否定性需求一般是不可验证的,需要重写。这点在我们的项目中经常会遇到,以后的需求评审中要注意。

好的需求是艺术与科学的结合,需要创造性的思维来开发优化的需求,捕捉想要的功能,剔除不需要的功能。经验表明,直接使用原型代码进行飞行试验和合格审定,是没有好结果的。在需求中包含理由是一个很好的实践,当需求中有些东西可能对读者不明显,或者可以帮助读者理解为何存在该需求时,就应当给出理由。

在编程实现时,注释应当总结代码的目的和意图,而不要注释显而易见的东西,并且不要过度注释,过多或过少的注释都会降低易理解性。

验证的独立性,既包括职责分离,也包括权威性,这从技术方面对IV&V机构提出了更高的要求。

验证包括评审、分析和测试。同行评审一般基于检查单开展,要确保目标的可追踪性、准确性和一致性,提供定性评估。分析需要提供正确性可重复的证据,应当有书面记录,包括分析规程和分析结果。典型的分析包括双向追踪分析、最坏情况执行时间分析、堆栈使用率分析、链接分析、负载分析、内存映射分析、覆盖分析等。测试需要动态执行软件。

DO-178C聚焦基于需求的测试,因此不管高层需求还是低层需求,都强调需求本身的正确性。《如何打破软件》一书中聚焦了攻击软件的4种能力,并提供了测试输入、测试输出、测试数据以及测试计算的建议。

执行结构覆盖分析是为了识别基于需求的测试中没有得到执行的任何代码结构。对未覆盖的代码,应采取如下行动:1)补充测试用例;2)补充需求、补充测试用例;3)去除无效代码;4)对非激活代码进行分析。

在多数情况下,测试中用到的模拟器或仿真器需要得到鉴定,而工具鉴定是DO-330中的要求。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容