逐梦报国、创新实干、团结协作、勇攀高峰!研究院精神是研究院在长期科技创新实践中积累的宝贵精神财富,是全体员工所共有的精神风貌和精神追求。“核家大院”开设【研究院精神故事】专栏,以讲述身边人、身边事的形式,描绘研究院人立足岗位,主动深入践行研究院精神,将精神的力量融入创新发展中的奋斗群像。
2023年春节前夕,本该是快乐迎新春的时刻,LOCUST(系统分析软件)项目组却迎来一场意外的挑战——某项目PSAR(初步安全分析报告)分析使用的二次开发软件在计算部分反应堆破口事故算例时,采用保守模型计算得到的结果,竟然要比采用最佳估算模型得到的结果裕量更大,这样的结果太反常了!
LOCUST软件团队进行了初步分析,推测该问题可能是由于模型逻辑调用错误导致,这样的话只需确认模型调用逻辑,即可找到问题根源。遗憾的是,猜测被证实不成立。项目团队陆续又排除了前序代码修改缺陷、输入卡设置不对等较为显性的问题可能,但还是没能找到问题的症结。
排查至此,团队意识到最可能的原因——代码中含有隐藏错误!这是一种最隐蔽的问题。面对该软件复杂的历史版本,近24万行巨大的代码量,牵一发而动全身,错误地改动代码可能会造成软件BUG成倍增加,错误的代码可能存在于一个符号或者一个数字,找到“它”如同大海捞针。
柳焕楠(左)与琚忠云(右)在讨论专业反馈的问题,排查代码
但软件团队深知,核电软件的可靠性和精确性至关重要,再难也要攻克,必须要活捉这只“犯错的代码”。这不仅是一次技术挑战,更是一次对团队能力的考验,唯有团队紧密协作找到“病灶”,才能确保未来软件在工程应用中不留隐患。
LOCUST软件团队立刻开始分工协作,展开了“抓捕”行动。团队成员重新分工,根据梳理的潜在问题清单,逐一排查代码,并实时沟通进展。凭借过硬的技术和严谨的态度,团队成员经过十余天的连续奋战,这只“犯错的代码”终于露出了马脚,原来是程序中一处模型代码出现了计量单位混用错误,该错误平时非常隐蔽,只有在计算调用保守模型时才可能“浮出水面”。修正后,经过用户反复测试,算例结果均达到保守要求,问题得以最终解决,终于活捉了这只“犯错的代码”!
核能专业软件是核电厂安全分析的核心工具,包括反应堆物理软件、热工软件、燃料软件等,含有许多关键核心的理论模型,代码量从几万行到几十万行不等。对于这样庞大的系统工程,从需求分析、模型设计、模型开发、测试、验证、产品发布等都离不开项目团队的团结协作,协同推进。不仅需要软件专业的内部协同,很多软件还需要与堆工、燃料等专业组成联合研发团队,实行AB角制度,共同推进。
这只“犯错的代码”,也让LOCUST软件团队更深刻地认识到在软件研发的道路上,不会一帆风顺,问题与困难,甚至是错误总会不期而至。团队必须深入践行“严慎细实”工作作风,严格按照软件开发流程开展软件单元测试、集成测试、系统测试以及验证确认等工作,不放过任何一个BUG,与开发团队、项目团队、用户组等团结协作,才能真正开发出具有完全自主知识产权的更准确、更先进、更好用的核能专业软件。
评语
在一线科研工作中,我们常常会遭遇不可预期的问题,这个时候“协作”和“实干”就是破解困境的重要武器。在解决LOCUST软件应用问题的过程中,LOCUST软件团队用“协作”去实现工作突破,用“实干”去赢得用户的认可,最终解决了软件应用过程中的多项疑难问题,为PSAR计算分析提供了坚实保障。软件开发如同“绣花”,是一项极其精细的工作,在这个过程中离不开开发人员与用户的团结协作。精神的力量,往往就体现在工作中一件件看似普通、却又不平凡的事情上。
END
供稿 | 软件所
编辑 | 王超 唐争鸣
审校 | 邱丹
审定 | 李墨
2024-11-03
2024-11-01
2024-10-31