有一种软件bug是开发复杂软件项目开发者的噩梦,那就是代码中的竞态(Race Condition,也被译作竞争条件)引发的软件bug,近日Facebook开源了开发工具RacerD,来帮助开发者检查并预防Race Condition bug。 Race Condition是程序在多线程多任务处理时,对有些共享资源进行操作(例如两个进程同时修改同一个数据时),导致整个处理过程变得混乱甚至锁死,引发BUG。Race Condition查找起来非常困难,开发者很难彻查一个app中所有的潜在问题,因为Race Condition引发的bug并不持续,因此难以诊断。 Facebook科学家Peter O‘Hearn在接受采访时指出,RacerD能查出大多数race condition导致的bug,虽然不能保证全部。据悉,Facebook的Android应用开发团队在迭代新闻源并发功能(可将app性能提升5%)时使用RacerD找到来超过1000个race condition bug。 目前RacerD兼容Java,下一步Facebook将进一步开发使RacerD能够兼容C++。更多内容,请关注本次专辑…… 今天,AliOS家族旗下面向IoT领域的轻量级物联网嵌入式操作系统AliOS Things正式开源。对于AliOS开源,阿里巴巴集团资深副总裁、AliOS总裁胡晓明谈及他的观点,他认为操作系统不应该仅仅是阿里的操作系统,希望通过把AliOS开源,让OS变成各行各业大家的OS。 他表示,未来阿里将关注最底层的研发,并且把生态环境建设好,和各行各业发生化学反应,让智能发生。目前,智能多端的发展还处于起步阶段,距离真正实现万物智能还有很长的路要走。 而目前的行业变化对操作系统的发展提出了三方面的挑战:首先,行业需求呈现多样性、碎片化的趋势,以手机为基础的操作系统并不能满足多端的定制化需求;云服务已经成为终端智能的基础设施,而手机操作系统仍然以端为中心,不是云端一体化的的操作系统;第三,智能硬件的软硬件创新成本相对手机提升,市场呼唤更合适的操作系统及其生态。 AliOS在多端应用场景下已经做了一些尝试,包括在汽车、消费电子领域,以及新零售、金融和教育领域等,和芯片厂商、集成商一起紧密合作,也获得了一些成果。AliOS将把操作系统和能力开放出来,让广大的设备厂商以及更多的设备集成商和OEM获益。更多相关内容,大家可以关注本次专辑…… 本周 openSUSE Tumbleweed 发布了两个快照,其中最新的快照 20171017 对 GCC 作了重大的改变 —— GCC 6 不可再用于 Tumbleweed。openSUSE Tumbleweed 是 openSUSE 的滚动发行版本,这意味着你只要安装更新,系统就一直是最新的。 目前,GCC 6 的最新版本为 GCC 6.4 ,GCC 7 的最新版本为 GCC 7.2,不少 Linux 发行版已经用上了 GCC 7 的最新版 GCC 7.2。 此外,常见的如针对 KRACK 或 CVE-2017-1536 的漏洞补丁已添加到新快照中。跨平台库 Simple DirectMedia Layer 为许多游戏控制器(包括 Nintendo Switch Pro 控制器)增加了支持,并已升级至 SDL2 2.0.6。gutenprint 5.2.13 增加了对两台 Epson 喷墨打印机的支持,并纠正了与标准 A4 纸冲突的错误定义的纸张类型。 |