当前位置: 首页 > 科技观察

Facebook的开源工具,帮助开发者消除最顽固的软件bug

时间:2023-03-14 12:29:03 科技观察

有一种软件bug是开发复杂软件项目的开发者的噩梦,那就是竞态条件导致的软件(RaceCondition,又译为competitionconditions)中的代码bug,近日Facebook开源了开发工具RacerD,帮助开发者排查和预防RaceConditionbug。RaceCondition是程序在多线程多任务处理过程中,对某些共享资源进行操作时(例如两个进程同时修改同一个数据时),导致整个处理过程变得混乱甚至被锁住,造成BUG.RaceCondition很难发现,开发者也很难彻底排查一个应用中所有潜在的问题,因为RaceCondition导致的bug不是连续的,所以很难诊断。Facebook科学家PeterO'Hearn在接受采访时指出,RacerD可以检测到大多数由竞争条件引起的错误,尽管它不能保证全部检测到。据悉,Facebook的Android应用开发团队在迭代新闻提要并发功能(可提高应用性能5%)时,使用RacerD发现了1000多个竞争条件错误。RacerD目前兼容Java,Facebook下一步将进一步开发RacerD兼容C++。