PerfMa

IT系统稳定性保障专家

请至少选择一个您感兴趣的方案
发送验证码

感谢您的提交!

我们会在2工作日内与您联系

产品

全天候为您的IT系统稳定运行提供有力保障
即刻开启您的IT系统稳定性保障之旅

XSea 全链路压测平台

多地域高仿真流量模拟、端到端流量染色与数据隔离、全链路压测风险熔断

XWind 性能风险巡检与诊断平台

无人值守智能分析、风险处理能力闭环、可拓展性能风险知识库、丰富图表及报告、开放API助力DevOps

TestMa 质量效能平台

全流程的质量闭环,可度量的质量数据,无门槛的接口编排,高效率的精准测试

XChaos 混沌工程平台

应用架构智能感知、故障演练场景丰富、高级多流程编排、多维度演练观测、过程安全控制、第三方集成扩展

XSpider 监控平台

无侵入实时性能分析、低性能开销、动态采样、根因定位

解决方案

沉淀PerfMa多年的业务经验,提供金融、
证券、快消、交运等多个领域的解决方案

金融

依托全链路压测平台的能力,建立一套完整的性能保障体系

电商

基于平台的建设及专家咨询服务,进行统一平台管理,实现工具、框架的统一

连锁快消

实现多维自动化能力,协助构建标准化的性能测试及回归体系,提升测试效率

交通运输

以数据驱动,形成标准化测试能力,保障系统的正确性、性能容量及可靠性

公司动态

全方位汇集PerfMa大小资讯
寻找对您有帮助的事件

PerfMa新闻

PerfMa公司最新动态或消息,为您提供关于PerfMa公司的第一手资讯

PerfMa活动

为您提供PerfMa线上线下精彩活动回顾及预告

关于

和优秀的小伙伴一起共事
不负初心,用技术的力量创造梦想

关于PerfMa

强大的专业团队、企业资深专家,致力于为企业提供性能领域的全方位解决方案

加入我们

浓厚的工程师文化、靠谱的发展平台、舒适的办公环境,拥抱变化中快速成长

社区&开源

汇聚IT系统稳定性领域问题诊断调优精英
共建IT系统稳定性领域问题诊断调优标准和能力

专注性能领域垂直社区,几十万开发者在这里交流性能问题,分享技术干货,是开发者们学习和成长的乐园。


访问HeapDump社区 >

为终结性能问题而生的开源插件容器,将定位/解决各种性能问题的工具适配成插件,通过相互联动组合,一键解决您的性能问题。


访问XPocket官网 >
Meta 开源 Android Java 的静态死锁检测器
2022-03-11

Meta (原 FaceBook)开发了一种新的静态分析器,它可以在 Android 的 Java 代码中捕获死锁,而无需运行代码。该死锁检测器是开源的Infer静态分析框架的一部分。

 

据工程师 Nikos Gorogiannis 介绍,新的死锁检测器能够分析具有数亿行代码的代码库的修订,目前已经在 Meta 的持续集成系统中部署,它会扫描对 Android 应用程序系列的每个提交。在过去两年中,Meta 开发人员针对它的死锁报告采取了 200 多项修复措施,修复率约为 54%。

 

该检测器如何运作?

 

该分析器使用抽象解释技术来设计。对于每个方法,分析器都会计算方法在获取和释放锁方面的行为摘要,以及该方法是在主线程还是在后台线程上运行。然后使用一个关键对 (A,B) 记录了以下事实:该方法试图获取锁 B,而此时,它已经精确地持有集合 A 中的锁。以上数据通过所有方法的计算得出,足以让判断两个并发方法之间是否可能出现死锁问题。

 

 

为了快速高效,该工具还避免分析应用程序中的所有源文件。相反,它首先处理已修改文件的所有方法。然后基于该数据应用启发式方法,来定位修改文件之外的方法,这些方法可能与修改版本中的一种方法发生死锁。

 

死锁通常是不可恢复的错误,也是非常难以诊断的错误,因为线程调度本质上是不确定的。因此,死锁的测试可能需要运行数千或数百万次才能显示问题,那么无需运行甚至构建代码即可静态地检测死锁就非常有价值。

 

Nikos Gorogiannis 称其团队的方法已实现了死锁分析这一目标,同时也使其具有足够的可扩展性,可以在大型代码库上部署分析器。

 

文章来源:OSCHINA

链接:https://www.oschina.net/news/185948/deadlock-detector-for-android-java

请至少选择一个您感兴趣的方案
发送验证码

感谢您的提交!

我们会在2工作日内与您联系

业务咨询电话:4008-717-107

公司联系电话:0571-8500-1801