求解计算机软件可靠性的难题――记国家杰出青年科学基

时间:2006-04-04浏览:84

 

求解计算机软件可靠性的难题
      ――记国家杰出青年科学基金获得者李宣东教授


   李宣东,1963年10月生。南京大学计算机科学和技术系教授、博士生导师、副系主任。国家杰出青年科学基金获得者。教学、研究工作主要涉及计算机软件工程,发表学术论文40余篇。主要承担包括国家自然科学基金项目、863高科技研究开发基金项目、国家九五重点攻关项目、国家重大基础研究计划973项目在内的多项国家和省级科研项目。获2002年教育部自然科学二等奖、1998年教育部科学技术进步二等奖和1998年度中创软件人才奖。享受国务院特殊津贴,入选教育部跨世纪人才培养计划和江苏省青蓝工程学术带头人培养计划。2002年被教育部表彰为高等院校优秀骨干教师。
    约见李老师的过程颇费了些周折,好几次打电话给他时,他总是很不好意思的问我能不能再缓几天――那种抱歉的语气反倒让我觉得很不好意思。终于定下采访的日期,就在我要挂电话时,李老师迟疑了一下说:“来之前,最好再打个电话给我,我怕到时候临时有急事让你跑个空。”闻听此话,笔者感到心中一阵暖意。
    当我在约定时间走进李老师在蒙民伟楼的办公室时,李老师正临窗而坐。外面的阳光很好,我一边享受着这深秋里难得的阳光,一边踏进李老师专心构建了20多年的计算机世界里。
从一无所知到一往情深
    1981年,18岁的李宣东由南京市第十三中学考进南京大学计算机系。
    “说实话,那时我对计算机真的是一无所知。”谈起自己当初的选择,李老师回忆说,“我当时数学成绩不错,自己也喜欢数学,但又不想去学纯粹的数学专业,所以就填了计算机专业。”
    80年代初时,对大多数人说,计算机还是个很陌生的东西,当然也没有今天的“热门专业”之说。而对李宣东他们这些选择了计算机专业的年轻学子来说,一个更加实际的问题是,他们常常担心将来能不能去个有计算机的单位。
    “这种担心在当时其实很正常,事实上,我有很多同学在毕业后,由于分配到的单位并没有计算机,因此就慢慢脱离了这个圈子了。”
    也许这辈子注定要和计算机结缘,大学毕业后,李宣东被分配到南京航空航天大学的计算中心去做助教工作,而那个计算中心恰好有台大型计算机。
    “南航当时在航天器设计方面做的很不错,这里面大量的工作需要由计算机完成,也就是在那时,我慢慢觉得计算机这个东西还真的很有意思。”李老师说。
    也许正是这一切,让曾经对计算机一无所知的李宣东在心里产生了别样的感情――1988年,离开母校三年之后的李宣东重新考回南京大学计算机系攻读硕士。1991年毕业后,当时社会上对计算机的应用仍然很少,李老师回忆说,那时有很多银行需要计算机专业的人才,但他想,去银行只能做一些简单的数据库管理工作。不忍放弃自己计算机专业的李宣东选择了留下继续读书,1994年,他获得了南京大学计算机专业的博士学位。
他眼中的计算机
    在和计算机亲密接触了20多年的李宣东眼里,计算机究竟是个什么样的东西呢?
    “我觉得从本质上来说,计算机是一种工具。”李老师回答说。
    虽然从表面上看来,计算机以及计算机网络已经渗透到社会生活的方方面面,但在李宣东看来,计算机之所以能够完成这么多不可思议的任务,主要原因有两个,一个是计算速度超快,另一个就是计算机越来越大的存储空间。
    “所以也可以这样讲,计算机是人脑在时间和空间上的延伸。”一席话说得我这个计算机门外汉茅塞顿开。
    李老师目前主要研究方向包括软件工程中的面向对象技术和形式化方法,特别是实时和混成系统的模型验证算法和工具。“通俗点讲,就是解决计算机软件的可靠性问题。”看着我迷惑的神情,李老师主动解释说。
    随着计算机在各行各业以及人们日常生活中扮演着越来越为重要的作用,计算机软件的可靠性问题也越发迫切的摆在了人们面前。用李老师的话讲,大到航天飞机升空,小到写字楼里电梯的运行,都离不开计算机软件安全、稳定地运作。“一个很小的程序出错,都可能导致极为严重的后果。”
      但和其他很多东西不同,计算机软件可靠性却又是个很难捉摸到的东西。李老师介绍说,一种软件生产出来以后,没有办法在理论上证明它是不是绝对可靠的,只能在实践运作中去发现问题。“事实上,我们没有谁能保证一种计算机软件是绝对可靠的,计算机软件的可靠性永远是个未完成的状态。我们只能说不断地去完善它。”
    “那做这项工作岂不是很没有成就感?”笔者不禁疑惑道,“因为连您自己也不知道它究竟可不可靠。”
    也许这个问题有点“幼稚”,李老师笑了笑说:“那倒不会。虽然我们知道一个软件不可能绝对可靠,但通过各种测试和验证途径,我们可以不断地了解它,从而对它产生一种信任感,知道它在一般情况下不会有问题。这种信任感就像你对一个老朋友那样的感觉。”从事计算机软件研究这么多年,李宣东深切地感受到,一个强大的软件产业对理论研究的重要作用。
    “软件可靠性里大部分的问题都来自业界,提出问题才能解决问题。但我们国家目前的软件产业和国外,特别是美国相比,还处在一个比较初级的层次上。”
      但话锋一转,李老师又满怀壮志地介绍说,计算机这个领域和很多其他学科不一样的是,它允许跳跃式发展,也常有革命性的跨越。“一个物理学的博士,他的知识结构可能就够他用一辈子了,但一个计算机专业的博士,他的知识结构老化的相当快。像我这样四十多岁的人,和一个20多岁刚从事计算机软件开发的小伙子其实是站在同一条起跑线上,我唯一的优势只是比他多一些经验。”
      所以说,从事软件开发研究是一件很有挑战性的事情。“可能我就是比较喜欢这种感觉。你这个方面做得不好,没有关系,完全可以跳到下一个阶段,同样有成功的机会。”
    虽然从事的是技术工作,但李老师对他的工作不乏人文批判和人文关怀的视野。
    他常常感慨,计算机虽然给我们的世界带来了翻天覆地的变化,但随之而来的人们对计算机的过度依赖也导致了很多社会问题。
    比如说,我们现在根本无法想象一次计算机网络大规模的瘫痪究竟会带来多么严重的后果,或许这已成为我们生命中无法承受之“错”。又比如说,人类发明计算机的本意是让计算机模仿人脑的思维,但现在由于我们对计算机的过度依赖,却出现了人脑模仿电脑思维的现象。“最典型的就是,很多人离开电脑甚至无法写作了。只有把手放在键盘上才能找到灵感。”
    “所以我还是那句话,计算机只是一种工具,为人类服务的工具。”李老师最后严肃地总结道。
“教书育人是件功德无量的事情”
    在旁人看来,做软件开发研究是个很“时尚”的事情,同时待遇也很高。但在做研究和教书上面,李老师却更喜欢教书。
  “我觉得教书育人是件功德无量的事情。”李老师真诚地说。
    在李宣东看来,他的身份既然是大学老师,那么教书育人永远是第一位的。虽然他说,教书出成果很慢,可能要20年或者更长。
    “但越是这样,我们越应该要重视教学。因为出成果慢意味着发现问题也慢。如果我们20年后才发现我忽视了对学生的培养,那是不是太晚了?”
    然而,让李老师担忧的是,现在不少学生的心态却相当浮躁。而这个世界上最难控制的就是人的想法,计算机软件恰恰就是再现人的思维,“那你说研究计算机是不是相当困难呢?”李老师反问道。
    但在李老师看来,现在不少人只看到计算机软件开发的表面风光,却无法了解这项工作背后的艰辛。“有时我发现有些同学觉得自己进了这个专业就什么都有了,就觉得自己前途一片光明了。”所以他想告诉学生的是,一定要沉的住性子,吃得了苦。
    事实上,他自己这么多年也是这么过来的。他的博士生张天说,李老师几乎每天都是第一个来到实验室。等到他们这些研究生到的时候,李老师已经打开电脑忙碌起来了。
    他虽然对学生期望很高,但对待学生态度却非常随和。“他和我们说话从来都是商量的语气。”小张告诉笔者说。
    “前一段时间,我们高中同学聚会,大家都很有感慨地说,当初老师教导的东西到现在才慢慢明白。”李宣东说,“我自己也有这种体会。40岁后,才明白了老师的好。”
      他的学生到40岁还有很久,李老师也许在乎的不是这些――40岁太久,只争朝夕,他在乎的只是现在把学生教好。


(姜业奎)