美国航空航天局正在开发新的代码自动查错软件 | |
---|---|
http://jczs.news.sina.com.cn 2004年07月23日 21:09 中国航天信息中心 | |
[NASA艾姆斯研究中心2004年7月8日报道] NASA的科学家正在开发一个查找程序错误的软件系统,该软件系统能够更快和更精确地查找出航天器计算机编码中的错误,从而提高航天器的安全性。 自从1945年第一只"蛀虫"或"臭虫"(软件设计中的漏洞)爬入早期的电子机械计算机并引发故障使计算机瘫痪开始,软件开发中的编码错误问题就一直困扰着计算机程序员。软 "排除飞行软件中的缺陷对NASA来说非常重要,因为即使一个单独的软件缺陷也可能导致一次飞行任务的失败,"位于加州硅谷的NASA艾姆斯研究中心研究员纪尧姆o布兰提(Guillaume Brat)如是说,他同时还补充道:"使用CGS,我们可以检测到什么会致使程序中断,什么会导致程序崩溃。" 驱动航天飞行任务的计算机软件包括成千上万行代码。程序员以前不得不手工检查代码,这是一项既耗时又昂贵的工作。 对CGS软件检验器的初期测试包括对以前一些太空飞行任务的计算机代码的评价,这些代码来自于1999年升空的"深空1号"飞船、"火星探路者"及"火星探测漫游者"(MER)的一部分,它们都是用C语言写成的。 根据NASA艾姆斯研究中心的计算机科学家阿纳德o维奈特(Arnaud Venet)的介绍,在测试中,CGS软件仅仅用了25分钟就完成了成百上千行航天器计算机代码的检查。CGS检测所有飞行软件的指令,并且返回一份报告,报告上列出了无缺陷代码的清单,同时也列出了有缺陷的代码以及需要使用其他方法进行进一步检测的代码。阿纳德o维奈特本人也参加了CGS项目。 维奈特还透露,NASA艾姆斯研究中心的计算机科学家希望更高版本的CGS将帮助2009年火星科学实验室飞行任务的程序员自动检测软件。其代码将使用C++语言写成。用C++写成的初级版本的CGS准备于2005年9月接受测试。 根据维奈特的观点,开发CGS软件检查器的一个主要目的是为了使NASA能够更快地生产航天器软件。 |