信息化 频道

软件怎样“质”取未来?

    提升软件的安全性和稳定性已成为软件企业的日常课题,未来软件将告别正式版本,用户使用的或许将是永远不断提升的beta版。
 
    病人一旦不幸患上脑瘤,最关心的是,医生如何能准确切除脑瘤,同时不伤害大脑皮层?对于这一问题的答案,你可能很难想到会与计算机技术有何关联。在第八届“二十一世纪的计算”大会上,麻省理工学院教授Eric Grimson博士透露,利用最新的计算机科学技术,我们现在可以为手术医师提供可视化的图形,并在手术过程中,进行实时的更新,以便发现疾病对于身体部位形状的影响和准确定位。
 
    计算机技术在医学等诸多关键领域的深入应用使得作为计算中枢的软件日益重要,可靠、高质量的软件是关键应用的保障。与此同时,互联网的普及也对安全性提出了更高的要求。如何提升软件质量、开发出高质量软件成为业界日益关注的话题。10月24日,在北京举办的第八届“二十一世纪的计算”大会以“‘质’取计算未来”为主题,探讨了如何提高计算质量以及计算机安全性、稳定性方面研究的最新成果。
 
计算稳定性受关注
 
    据Eric Grimson教授介绍,目前在美国进行手术的时候,已有很多计算机技术参与进来,例如,脑科技术都需要计算机的帮助。未来10年,机器人会更多地辅助医生介入手术的过程。此外,将会更多采用计算机技术来分析疾病在人体内的散布,以对疾病的机理有更多了解。
 
    实际上,计算已由人类活动的一个重要因素转化为核心要素,其可靠性和安全性因而受到广泛关注。而日益增强的功能性和复杂性也使保证安全运行成为一种挑战。如何提高计算的稳定性及安全性是目前国际学术界最热门的话题之一。
 
    微软亚洲研究院的院长兼首席科学家沈向洋表示,我们生活在信息化迅猛发展的年代,计算关系到人类生产和生活的方方面面,稳定、可安全运行的计算机系统,已成为保证我们正常生活的必须。“包括在医学等领域中的深入应用再次说明了提升软件质量的迫切性。”
 
    在沈向洋看来,不断提升软件的质量和稳定性已经成为软件企业的日常性工作。未来,目前所谓的软件正式版的发布方式将会消失,以CD形式存储和发售的零售方式也将被放弃。“提升软件质量的压力使得用户使用的软件将会一直是beta版,因为软件质量提升是一个持续的过程。”
 
关键在哪里?
 
    沈向洋认为,软件质量的问题主要涉及三个方面:我们能用什么样的工具来提高软件质量?从算法到理论,有哪些研究方法? 提高软件质量还有哪些更高的手段?
 
    专程来华参会的微软全球高级副总裁、美国国家工程院院士Rick Rashid博士则分享了一些微软自身的有效工具。Rashid称,“在过去的25年,我们在研究室里做了很多的工作,很多软件的性能方面都得到了提升。正是因为有了这些非常巨大的变化,我们现在能够对软件进行分析,随着研究的进一步深入,我们就能够在工程和软件分析方面不断取得进展。”
 
    Rashid博士向与会者介绍了一些微软的软件分析工具。“我们研究院创造了一个BBT技术(原来称之为LEGO),可以提高软件的性能。我们创造的启发性软件分析工具,改变了微软和其他公司对软件工程的看法。”
 
    此外,微软广泛使用的工具还包括静态分析工具(比如 PREfix 和 PREfast),可靠性比之前的版本有了重大改进。静态分析方法与文字处理程序中的拼写和语法检查程序非常相似,通过它,编程人员可以更加清楚地认识到自己在工作中的常见错误,从而主动检查和修复这些错误。微软研究部门还使用SLAM(软件、语音、分析和模型检查项目)以及 ESP(通过可伸缩的程序分析检测错误)等可靠性工具,更好地保证了软件开发。比如,Windows 驱动程序质量小组使用 SLAM 工具包开发了静态驱动程序检查器(Static Driver Verifier),以便检查驱动程序软件是否符合正确的高可靠性规则。
 
    沈向洋则强调了互联网手段对软件开发的作用:通过互联网搜集用户的信息去提高软件的质量。“以前软件装到机器上就出去了,现在不一样的是,当你把互联网的软件交给用户以后,用户有什么问题,很快这些信息可以反馈。”
 
    2000年图灵奖获得者姚期智(Andrew Yao)博士指出了算法对于软件开发的重要性:好的软件需要好的程序,程序则需要有很好的算法作基础。“一个不好的算法可能需要很多年、几十年、几百年才能做完计算,一个好的算法可能几分钟就能够算完。”
0
相关文章