不运行代码就能算出函数最坏情况下的执行时间——这是静态代码分析的核心特点。在硬件还没回来的项目早期,它能给出 WCET 上界;在调度层,类似的思路还能给出每个任务的 WCRT 上界。ISO 26262、DO-178C 等安全相关标准都把它列为推荐方法。
但有时实测最大值会超过这个"上界"。
不是工具算错了,是它本来就不计这一部分——中断对缓存的扰动、多核共享资源的争用、互斥应用模式带来的高估……一旦这些未建模因素显著存在,"上界"的安全保证就不再成立。
看视频,7 分钟讲清楚静态分析的两个层级与共同边界。
欢迎持续关注本系列更新。