繁体
首页

第85章 错误、故障和风险(6)(2 / 3)

你可能曾经使用了一个产品的beta版或者听说过的beta测试。Beta测试是测试接近最终的一个阶段。在客户(或大众)中选择一些人在真实世界的环境下,使用一个完整的、应当被认为是经过认真测试的系统。因此,这是由普通用户,而不是软件专家在进行测试。 Beta测试可以检测那些设计者、程序员和测试人员没能发现的软件限制和缺陷。它还可以揭示用户界面上令人困惑的问题,可能需要更加坚固耐用的硬件,在与其他系统进行交互时遇到的问题,或在较旧的计算机上运行一个新的程序时出现的问题,以及许多其他各种各样的问题。

“我们的禀性是我们行为的结果。因此,卓越不是一种行为,而是一种习惯。”

——威尔·杜兰特,在他的《尼各马科伦理学》一书中总结亚里士多德的观点

8.3.2 相信人还是计算机系统?

在危机发生时,计算机应该拥有多大的控制权?这个问题会在许多应用领域出现。我们在飞机系统的上下文中来探讨它。

现在的汽车中都装有防抱死制动系统,可以控制刹车以避免打滑(可以比人做得更好),与此类似,在飞机上的计算机系统可以控制飞机突然大幅攀升,来避免出现失速。如果发现客舱释压,而飞行员不迅速采取行动的话,有些飞机会自动下降。

交通防撞系统(Traffic Collision Avoidance System, TCAS)可以检测空中两架飞机可能会相撞,并指示飞行员避开对方。该系统的第一个版本存在非常多的假警报,因此是不可用的。在一些事件中,系统引导飞行员朝着对方开,而不是飞向相反方向,这样反而有可能导致冲撞,而不是避免冲撞。然而,TCAS进行了改进。根据航空公司飞行员协会的安全委员会负责人的说法,它是安全的一大进步。当一架坐有许多儿童的俄罗斯飞机和一架德国货机飞得过于接近对方时,TCAS系统的运行是正常的。系统检测到潜在的碰撞,并告诉俄罗斯飞行员攀升,德国飞行员下降。不幸的是,俄罗斯飞行员听从了空中交通管制员的指令,也选择了下降,因而造成了两机相撞。在这个例子中,计算机的指示比人更好。在这个悲剧发生几个月后,汉莎航空公司747的飞行员忽视了空中交通管制的指令,而是听从了计算机系统发出的指令,从而成功避免一次空中相撞。美国和欧洲的飞行员在训练中都被要求遵循TCAS的指示,即使这些指示与空中交通管制员的指令有冲突。

飞行员在培训中要求,当TCAS预示存在潜在的碰撞时,必须立即关闭自动驾驶系统。他们会手动操纵飞机,以避免碰撞。这可能会发生改变。世界上最大的客运飞机,空客380飞行员在进行培训时,允许在出现空中相撞威胁时,通过自动驾驶系统来控制飞机。空客的飞机制造商表示,飞行员有时会对碰撞警告反应过度,因此做出极端的动作,可能伤害乘客或会导致与该区域的其他飞行物的冲突。该政策在飞行员中是有争议的。

在一些飞机上的计算机会在驾驶员试图做某些动作时,防止这些动作的发生(例如,以一个非常陡的角度横倾斜(banking))。有人对此表示反对,认为在紧急情况下,不寻常的行动是必要的,因此飞行员应该有最终控制权。根据事故统计,一些航空公司认为不然:与在必要的非常罕见的情况下,放手让飞行员做一些在程序限制之外的大胆而英勇的行动相比,避免让他们做一些“愚蠢”的事情反而可以挽救更多的生命。

8.3.3 法律、监管和市场

刑事和民事处罚

针对有缺陷的系统可以采用的法律补救措施,包括起诉开发或销售该系统的公司,以及如果发生了欺诈或过失的情况下发起刑事指控。Therac-25的受害者家属向法院起诉,并且达成了庭外和解。有家银行赢得了对一家大型软件公司的判决,因为这家公司开发的有缺陷的金融系统造成的错误,用一位用户的话来说,是“灾难性的。”几个人赢得了对信用机构的大额法院裁决,因为在信用报告中的不正确数据,对他们的生活造成严重的破坏。