MISRA 教程中心
MISRA中文网站 > 教程中心
教程中心分类
MISRA
编码规范
前往了解
MISRA规则库的维护以及升级后对历史问题的处理,不能仅仅看作是去工具里面打开一组规则。需要长时间去管理的东西,还有MISRA的版本、工具的版本、规则跟规则之间怎么对应、编译的环境、项目里面做过哪些裁剪、严重等级是如何设定的,还有那些偏离了规则的记录。规则库在升级之后,规则的编号、适用的条件,还有工具具体实现的方式,都是有可能发生变化的,要是直接就拿新的规则去扫描老的代码,历史问题就很容易被重新统计一次,项目质量变化的趋势也就会跟着突然变得不真实。MISRA C:2025现在是MISRA C的现行版本,它是在原来版本的基础上做出来的增量更新,但是合规、偏离还有过程管理这些事情,还是应该按照一个统一的框架来执行。
2026-07-21
MISRA代码审查这项工作要怎样去开展,以及审查中发现问题之后要怎样形成闭环,这件事情不能简单地等同于运行一次静态分析工具,再把告警数量降到零。MISRA的合规检查,既包含可以由工具自动识别的编码规则,也包含那些需要结合设计文档和人工判断才能完成的指令要求。一套相对完整的审查过程,应当先把适用的版本、代码覆盖范围和规则等级确定下来,再把工具检查、人工评审、问题修复、偏离审批和回归验证这几项工作串联在一起。如果不是这样,就算工具报告已经显示全部处理完毕,项目仍然可能缺少可以追溯的合规证据。
2026-07-21
MISRA偏离记录不是给静态分析工具的告警补一句“确认无风险”,而是针对某一项规则的违背,进行一次正式的论证。记录里面需要说明,为什么这个违背没有办法直接去掉,它会出现在代码的什么位置,可能会带来哪些风险,以及为了控制这些风险,又采取了哪些限制措施和验证手段。只有走完规定的审核和批准流程,这条规则的违背,才能够作为一项受控的偏离被保留下来。
2026-07-21
在TESSY中,测试对象的创建与识别不完整的排查,重点在于让TESSY获得完整的待测源码和编译环境,再通过模块分析将可测试的函数识别出来。当测试对象没有完整显示时,问题通常并不在于测试用例本身,而是源文件的范围、头文件的路径、宏定义、条件编译或者筛选规则,与正式工程没有保持一致。排查时应当先查看分析日志,再去检查预处理之后的源码内容。
2026-07-21
EMTP怎么建立变压器模型EMTP变压器饱和特性怎么设置,在做电力系统暂态仿真时,这两个问题总是绕不过去的。给变压器搭模型这件事,并不是把容量、电压、变比往里一填就算完事了,特别是要分析空载合闸涌流、故障切除、过电压、铁磁谐振这类暂态现象的时候,绕组的阻抗、接线的方式、励磁支路,再加上饱和的那条曲线,全都会把结果给扯向不同的方向。要是模型弄得太粗糙,仿真倒也能吐出一条波形来,可这条波形到底能不能当工程上的参考,就很难讲了。
2026-06-29
在动手去模拟线路合闸涌流的时候,要紧的地方不是随便丢一个开关上去,然后就光盯着波形看了,得把线路的那些参量、电源那头是怎么个等值法、合闸到底掐在了什么时刻、线上是不是还挂着没散尽的电压、负荷那头又是怎么个状况,还有量东西的蹲点都给拨弄清爽了才行。线路合闸这档子事,本来就归在典型电磁暂态那堆毛病里头,EMTP这类家伙什常常被拉来跑电力系统的暂态仿真,在开关撂下去的时候,还经常得把合闸那一下子撞在哪个相角上这种没准头的事,也一并兜进来看它带来的结果。
2026-06-29
在TESSY中,测试对象的创建与识别不完整的排查,重点在于让TESSY获得完整的待测源码和编译环境,再通过模块分析将可测试的函数识别出来。当测试对象没有完整显示时,问题通常并不在于测试用例本身,而是源文件的范围、头文件的路径、宏定义、条件编译或者筛选规则,与正式工程没有保持一致。排查时应当先查看分析日志,再去检查预处理之后的源码内容。
2026-07-21
MISRA遗留问题一直清不动怎么办MISRA老项目分期治理通常怎么切阶段,在不少年头很久的老项目里面,这种事是挺常见的,那些代码都已经稳稳当当地跑了好些年了,功能上也没什么大岔子,可只要把MISRA扫描一接进来,呼啦一下就能扫出几千条甚至上万条的告警,搞开发的一帮人很快就容易没了耐性。到了这种时候,先别急着喊出“全给清到零”的口号,旧代码要是已经有了长长一段跑下来的记录,上手就直接给它来一回大规矩的重构,倒未见得就是最划得来的搞法,这里头打紧的地方是把风险分出层来,把新长出来的问题给拦在门外,再一茬一茬地去对付那些真有危险的老问题。
2026-06-29
MISRA和AUTOSAR C++14会冲突吗MISRA规则与AUTOSAR规则重叠项该怎么处理,在C++汽车软件项目里头,这类问题一不留神就会冒出来。这两套规则其实全都是在盯着代码的安全程度、可维护程度和可移植程度使劲,它们之间倒不是那种死对头的关系,AUTOSAR C++14 Guidelines本来就是面向C++14的,而且跟MISRA C++:2008之间有一层很清楚的承接关系;后来推出来的MISRA C++:2023呢,又反过来把AUTOSAR C++14里头的不少经验给吸了进去,拿它来对付C++17相关的关键系统开发。所以多数时候,它们看着像是互相拌腿,实际上更可能是同一处风险被两套尺子各量了一回。
2026-06-29
在把MISRA检查接到CI里面之后,噪声太大的问题该怎么处理,门禁阈值在分阶段收紧的时候又该怎样去设置,这些其实是很多嵌入式项目在往前推代码规范的过程中都会碰到的事情。刚把CI接进来那阵子,告警多这件事倒并不奇怪,特别是当历史代码、第三方的库、机器自动生出来的代码,还有平台适配的代码全被一把头扫进去的时候,CI是很容易每一次都挂上红的。在这个阶段里头,不能一上来就催着要把所有的东西都给清到零,可也不能就那么两手一摊什么都不去管了。比较讲得过去的搞法,是头一步先把那一片噪声给拨拉开了,再跟着去把基线楔下去,最末了再分着阶段把门禁给朝紧里勒一勒。
2026-06-29

第一页123456下一页最后一页

135 2431 0251