网易首页 > 网易号 > 正文 申请入驻

生产环境下高并发程序崩溃?麻州大学让多线程软件故障分析自动化

0
分享至

  机器之心专栏

  机器之心编辑部

能够实现自动化错误分析,麻州大学研究团队推出的 Watcher 让生产环境多线程程序的调试不再那么困难。

  软件调试是非常枯燥而又技术难度很高的工作,其中软件故障的自动化分析是几代程序员共同的梦想。进入多核时代后,多个线程的并行处理极大地提高了程序性能,但同时任务的交织又使得程序运行结果更难以重现,这让调试工作变得更加艰巨。

  近日,麻萨诸塞大学阿默斯特分校(University of Massachusetts Amherst,简称「麻州大学」)的电子与计算机工程系刘通平教授领导的研究团队最近开发一个名为 Watcher(哨兵)的自动化多线程软件故障分析工具,可以在几秒钟或者几分钟内自动精准定位软件错误原因,有望彻底解决生产环境下并行程序调试困难的问题,能显著提高自动驾驶等关键系统的可靠性。

  从智能手表到大型服务器,零售终端到金融交易平台,软件服务存在于日常生活的方方面面,极大的便利了人们的日常生活。但是,软件中总会包含一些潜在的缺陷或者 bug。尽管严格的软件测试有助于尽早发现这些缺陷,但是开发人员往往迫于压力,在没有进行全面测试的情况下就匆匆将软件发布。而且有些软件缺陷只在特定输入条件下才会触发,或者只在特定的任务交互下才会显现,即使是严格的测试也并不能完全消除大型软件中的所有缺陷,尤其是并发软件中的缺陷。这些程序的缺陷常常成为软件测试的漏网之鱼,进而导致运行过程中系统崩溃、程序挂起、或引发安全漏洞。

  尽管目前存在一些可用的软件调试系统,但大都需要人工干预。这样的系统在实际应用生产环境中是无法直接部署的。人们经常使用微软公司的办公软件,但是你不能指望普通用户能够调试这些软件问题。普通用户既没有能力,也没有义务去帮忙调试。因此,软件公司只能收集用户的错误报告,然后进行离线诊断。但离线诊断又有各种弊端:

  第一,因为数据上传时并不能区分出故障相关信息,离线诊断必须收集错误现场的所有数据,其中也会包含一些用户的隐私数据。比如,用户刚刚用 IE 浏览器登录网上银行账号然后崩溃,其错误报告就会包含用户的账号和密码等隐私信息

  第二,因为离线诊断通常依赖于统计方法,或者通过错误状态反向推理程序运行的状态,这些方法的诊断能力都十分有限。因此,迫切需要更有效的软件诊断系统来取代传统的离线诊断方法。

  「无论技术如何进步,软件故障始终是一个令人担忧的问题」刘通平教授表示:「我们研究的软件故障诊断系统 Watcher 可以在原始的运行环境中现场快速地诊断程序故障的根本原因。

  跟以往的工具相比,Watcher 避免了其他分析软件的隐私问题。用户不再需要上传整个内存镜像,Watcher 也只会提供报告软件相关故障的报告。而且,Watcher 可以轻松部署,不依赖于定制的硬件或操作系统(不过目前 Watcher 只提供了对 Linux 系统的支持),也不需要修改程序代码或者重新编译程序。研究团队利用 Watcher 成功检测了几十种软件(包括一些大型应用)中发生的故障。评估结果显示,Watcher 可以在短短几秒钟内准确识别出软件故障的根本原因」。

  「冰冻三尺,非一日之寒,骐骥千里,非一日之功」。这项软件故障诊断的突破也是来自于刘教授和其研究团队的长期耕耘和努力:早在 10 年前,刘通平教授还是博士生的时候,他就开始研究并行软件的确定性问题,其成果发在计算机软件系统的最顶级会议 - 操作系统原理大会(SOSP'11)。在博士阶段后期,他开始研究 Watcher 软件系统的基础工作,一种确定性的记录重放系统(record-and-replay),相关的成果发表在软件工程顶会(ICSE‘16)和编程语言的顶会(PLDI‘18)。2015 年刘教授还在德州大学圣安东尼奥分校工作时,他的学生刘宏宇继续这一方面的研究工作,经过 8 年的辛勤工作,软件故障诊断才有了今天的重大突破。

  刘教授介绍说:「Watcher 的成功离不开它的基石 --iReplayer,它也是我们组 PLDI‘2018 的工作。iReplayer 能够准确无误的复现程序错误运行情况的系统,保证程序运行的一致性:在重新执行过程中,相同指令将对与原始运行时完全一致的存储单元 / 寄存器执行相同的读写操作。这一特性这为软件故障诊断打下了坚实的基础」。正是基于 iReplayer,Watcher 才能够实现现场诊断软件错误,其基本原理如下图所示:

  Watcher 作为一个运行库存在,可以和待检测的程序相链接。在程序正常运行时,Watcher 对程序的运行情况进行一些记录,但其性能开销低于 3%。当程序发生错误时,Watcher 的诊断模块将被自动开启,并在重放过程中进行自动诊断。Watcher 将二进制静态分析、动态分析与硬件调试技术结合在一起实现了自动化软件故障诊断。目前该研究已发表在程序语言与软件工程类顶级学术会议OOPSLA‘2020,相关合作单位还包括普渡大学、德州大学圣安东尼奥分校、和伊利诺伊大学香槟分校。

  Watcher 的程序错误诊断基于一个关键发现:程序错误通常是由于程序将错误或无效的值写入某个内存中,并在随后的运行中引发异常所导致。基于这个发现,Watcher 采用混合分析法来确定导致程序错误发生的内存单元、相关的指令和错误值传播路径。在二进制分析中如果出现不能确定的情况时,Watcher 利用重放运行过程再次收集和确认程序错误相关的信息,做到准确无误的报告程序错误的根本原因。此外,Watcher 还利用硬件寄存器非入侵式地采集对特定内存的访问,并动态地分析程序错误相关片段。分析结束后,Watcher 会生成一个对于错误值的完整报告,程序员根据其报告能够快速定位和修复这个程序错误。

  Watcher 的优点之一是可以在软件开发、部署、生产的所有阶段中使用。可以预见,Watcher 将对各种急需现场错误诊断的系统非常有用,尤其是人身安全相关的领域,比如航空系统或者自动驾驶。自动驾驶领域的一大痛点问题是如何快速的进行错误诊断,让程序员能够修复缺陷以提高系统的鲁棒性。然而,由于无线通信等传输瓶颈无法传输整个内存镜像,或者即使有内存镜像也无法准确定位问题,自动驾驶企业很难快速地优化系统,从而带来潜在的安全隐患。因为 Watcher 可以确定失败的根本原因,还能避免离线分析或静态分析的多个问题,这些痛点问题将通过 Watcher 得到解决。

  根据 2017 年的数据,软件故障每年带来超过 1.7 万亿美金的财政损失,而且每个程序员每年平均超过 1500 小时用于程序调试。无侵入性部署,精准自动化复现多线程故障,秒级自动错误原因分析,Watcher 为生产环境下的软件故障分析带来了曙光,也将可能会有几十亿美元级别的市场?

  论文链接:https://people.umass.edu/tongping/pubs/Watcher_OOPSLA20.pdf

  刘教授和其研究团队在软件系统的可靠性、性能优化和安全性方面长期耕耘,并期望与企业合作实现 Watcher 等技术的落地。如果您对此有合作和投资兴趣,请与 tongping@umass.edu 联系。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
94岁原中央保健局局长王敏清:50年没感冒,无三高,靠的就是这几招

94岁原中央保健局局长王敏清:50年没感冒,无三高,靠的就是这几招

新浪财经
2026-06-24 02:28:33
印尼不讲信誉,妄想赶走中国企业,厂可以关,设备可以搬走

印尼不讲信誉,妄想赶走中国企业,厂可以关,设备可以搬走

贱议你读史
2026-06-24 16:48:41
高志凯:西方老拿新疆说事,那就成立新疆稀土出口总公司,欧美只能在这里买,而且只能用人民币结算!网友:高,实在是高,高教授高

高志凯:西方老拿新疆说事,那就成立新疆稀土出口总公司,欧美只能在这里买,而且只能用人民币结算!网友:高,实在是高,高教授高

大白聊IT
2026-06-24 14:09:56
泰王访法国思蕊梵将陪同!二公主代替帕公主,有望成为“摄政王”

泰王访法国思蕊梵将陪同!二公主代替帕公主,有望成为“摄政王”

八八尚语
2026-06-25 11:35:48
特朗普暗地怂恿乌克兰“胆大一些”,俄白一唱一和相互壮胆

特朗普暗地怂恿乌克兰“胆大一些”,俄白一唱一和相互壮胆

史政先锋
2026-06-24 18:18:09
正常人有没可能被逼疯成精神病?看网友讲述,简直不要太可怕。

正常人有没可能被逼疯成精神病?看网友讲述,简直不要太可怕。

侃神评故事
2026-06-23 11:27:52
全世界都没想到,伊朗没打赢翻身仗,却替我国废掉美国最狠王牌

全世界都没想到,伊朗没打赢翻身仗,却替我国废掉美国最狠王牌

介知
2026-06-25 10:49:57
和刘亦菲干爹纠缠10年后,她隐婚生子被嘲太寒酸,最新回应来了

和刘亦菲干爹纠缠10年后,她隐婚生子被嘲太寒酸,最新回应来了

阿伧说事
2026-06-22 15:37:07
黄粱一梦,俄国人加速撤离克岛,乌3位前总统集体退还波兰勋章

黄粱一梦,俄国人加速撤离克岛,乌3位前总统集体退还波兰勋章

史政先锋
2026-06-21 20:15:46
《给阿嬷的情书》这段印度人纵火剧情,让全体新加坡人更加破防!

《给阿嬷的情书》这段印度人纵火剧情,让全体新加坡人更加破防!

可乐谈情感
2026-06-24 17:19:52
公公搬来养老,每晚准时敲我房门,第5天我带着孩子回了娘家

公公搬来养老,每晚准时敲我房门,第5天我带着孩子回了娘家

千秋文化
2026-06-17 20:06:10
恶魔施纯芳被押解回国等待宣判!他的妻子和父母觉得自己很无辜

恶魔施纯芳被押解回国等待宣判!他的妻子和父母觉得自己很无辜

细品名人
2026-06-23 07:22:50
丝瓜立大功!医生实话:经常吃丝瓜的人,一段时间后,或有5变化

丝瓜立大功!医生实话:经常吃丝瓜的人,一段时间后,或有5变化

路医生健康科普
2026-06-23 19:15:03
中国正式改口?不再称“日本政府”,新称呼把立场亮得更清楚

中国正式改口?不再称“日本政府”,新称呼把立场亮得更清楚

爱看剧的阿峰
2026-06-25 11:43:22
美国工程师:摸不透中国人,大力发展水力发电,却不知里面的危害

美国工程师:摸不透中国人,大力发展水力发电,却不知里面的危害

抽象派大师
2026-06-19 17:41:20
1962年,当36岁梦露当众褪衣亮相那一刻,生命就已经进入了倒计时

1962年,当36岁梦露当众褪衣亮相那一刻,生命就已经进入了倒计时

毒舌小红帽
2026-06-10 18:33:58
最新!多少分能上国防科大、中南大学、湖南大学、湖南师范大学?

最新!多少分能上国防科大、中南大学、湖南大学、湖南师范大学?

星沙时报
2026-06-25 08:25:37
韩国爆冷0-1不敌非洲球队,无缘直接晋级世界杯淘汰赛

韩国爆冷0-1不敌非洲球队,无缘直接晋级世界杯淘汰赛

侧身凌空斩
2026-06-25 10:58:00
电视剧《三体2:黑暗森林》首轮演员阵容公布

电视剧《三体2:黑暗森林》首轮演员阵容公布

观察者网
2026-06-24 20:26:16
这就是大家挤破头要去央企的原因…

这就是大家挤破头要去央企的原因…

慧翔百科
2026-06-24 17:21:25
2026-06-25 13:47:00
机器之心Pro incentive-icons
机器之心Pro
专业的人工智能媒体
13354文章数 142681关注度
往期回顾 全部

科技要闻

盘后大涨16%!AI存储需求带飞美光业绩

头条要闻

盖茨第三段婚外情对象披露 正面回应引诱未成年人卖淫

头条要闻

盖茨第三段婚外情对象披露 正面回应引诱未成年人卖淫

体育要闻

世界杯最动人一吻:我若离世 你就改嫁吧

娱乐要闻

白玉兰颁奖预测,杨幂胜算大吗?

财经要闻

财报炸裂!美光让空头闭嘴

汽车要闻

少个轮子也能跑?方程豹豹8闪充版云辇P Ultra让新手越野不心慌

态度原创

家居
亲子
游戏
旅游
公开课

家居要闻

绿意盎然 自然之境

亲子要闻

孩子脾胃调理 没有效果 是家长做错了这件事

三国志11:战国七雄和楚汉双雄上演九王夺帝,谁家的人才库最夯呢

旅游要闻

中国文旅看山西丨娘子关:一座兼具巾帼风骨与水乡柔情的长城雄关

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版